标签:comm 浅拷贝 images 官方文档 copy common 基本 lis src
基本元素为对象时,浅拷贝,拷贝引用(ArrayList 的clone()调用Arrays.copyof(),官方文档注明为浅拷贝)
class A{ int a; public A(int a){ this.a=a; } public String toString(){ return a+""; } } A[] kk=new A[2]; kk[0]=new A(1); kk[1]=new A(2); A[] kkk=Arrays.copyOf(kk,2); System.out.println(kk==kkk); System.out.println(kk.equals(kkk)); System.out.println(Arrays.toString(kk)); System.out.println(Arrays.toString(kkk)); kk[0].a=555555; System.out.println(Arrays.toString(kk)); System.out.println(Arrays.toString(kkk));
/*
false
false
[1, 2]
[1, 2]
[555555, 2]
[555555, 2]
为值时,
int[] a=new int[2]; a[0]=11; a[1]=2; int[] b=Arrays.copyOf(a, 2); a[1]=3333333; System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); /*output [11, 3333333] [11, 2]
关于Java 拷贝数组方法 Arrays.copyOf() 是地址传递还是值传递
标签:comm 浅拷贝 images 官方文档 copy common 基本 lis src
原文地址:http://www.cnblogs.com/wqkant/p/6827104.html