Java 数组 的 拷贝
复制数组的方法:
在JAVA里面,可以用复制语句“A=B”给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变。
以下是归纳的JAVA中复制数组元素值的的方法:(深拷贝)
1。使用FOR循环,将数组的每个元素复制(需要将每个对象调用clone方法,才能实现真正的复制)
2。使用clone方法,得到数组的值,而不是引用
3。使用System.arraycopy(s,start1,t,start2,length)方法
(注意:s是原数组,t是目标数组,start1&start2是开始复制下标,length一般是s的长度,由于arraycopy方法不给目标数组分配内存空间,所以必需要先为t分配内存空间!)
注意:
1.上面方法中arraycopy效率较高。
2. 以上所说的拷贝数组的方法,只是针对一维数组,对于多维数组,要在每一维用以上方法进行复制才能实现复制数组元素的值而不是引用。
3. clone 和 arraycopy对二维数组进行复制时,是浅拷贝, 即
Object[][] aa;
Object[][] bb = aa.clone();
//or bb=System.arraycopy(aa,0,bb, 0, bb.length);
则:
boolean b1 = ( aa[i] == bb[i] ); //true
boolean b2 = (aa[i][j] == bb[i][j]); //true, 可见数组元素只复制了引用。新旧数组指向相同的内存地址。(不论对象数组,还是基本类型数组)
//以下是例程
public class Test {
public static void main(String[] args) {
/*
* 对象的引用传递
*/
// A a = new A();
// B b = new B(a);
// System.out.println( a.getName() );
// System.out.println( b.getA().getName() );
// System.out.println( a==b.getA() );
// a.setName("KE");
// System.out.println( b.getA().getName() );
相关文档:
/*Decryptor*/
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
/**
* Decrypt the password get form Xpress GUI
*/
public class Decryptor{
//加密
  ......
先贴代码吧
感谢:http://xranming.blog.163.com/blog/static/24204952009914104148872/
http://www.diybl.com/course/3_program/java/javajs/20090303/157541.html
1、java代码:
主要采用dom来进行操作
java对xml操作有四种方法:http://passmatlab.bokee.com/3455905.html
package test;
import java ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
// 创建Excel
String destFileName = tableName + ".xls";//文件名
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=".concat(String .valueOf(destFileNa ......
CoreJava多线程
线程的概念:
线程指进程中的一个执行流程,一个进程可以包含多个线程。
每一个进程都独享一块内存空间。每个进程都需要操作系统为其分配独立的内存地址,而同一进程中的多个线程在同一块地址空间工作,他们共享一块内存和资源。
java中有两中方法创建一个多线程类:
1、继承java.lang.Thread类,覆盖T ......