java中使用list1=list的赋值方式使得list1和list2指向同一个内存地址,改变其中一个值,另外一个会随着改变;
如果list在多个地方引用要避免直接对其进行操作。
表述不清。。。。。
验证代码如下:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class testList {
public static void main(String[] args) {
List<String> x = new ArrayList<String>();
x.add("1");
x.add("2");
System.out.println("early x " + x.size());// 2
List<String> y = new ArrayList<String>();
Iterator<String> iter = x.iterator();
while (iter.hasNext()) {
String temp = iter.next();
y.add(temp);
}
y.add("3");
System.out.println("second x " + x.size());// 2
System.out.println("early y " + y.size());// 3
List<String> z = new ArrayList<String>();
z = x;
z.add("3");
System.out.println("third x " + x.size());// 3
System.out.println("early z " + z.size());// 3
}
}