java的Arraylist.clone()的拷贝问题
梦觉游仙 2019-09-12 04:53:09 我今天看了sun的说明,说Arraylist的clone是浅拷贝:Returns a shallow copy of this ArrayList instance. (The elements themselves are not copied.) 。
但是我今天写了一段代码,结果感觉更像是深拷贝,
代码如下:
ArrayList<String> t=new ArrayList<String>();
for(int i=0;i<10;i++){
t.add(String.valueOf(i));
}
System.out.println(t.get(1));
ArrayList<String> t1=(ArrayList<String>) t.clone();
t1.set(1, "tcd");
System.out.println(t.get(1));
System.out.println(t1.get(1));
System.out.println(t1.get(2)+"||||"+t.get(2));
输出结果:
1
1
tcd
2||||2