class A {
public List list = new ArrayList();
}
class B{
public void test() {
A a = new A();
List listB = a.list;
listB.add(XXX);
}
}
这个时候就是A中的list增加了一个对象。因为,这里是赋值操作,所以操作listB就等于操作A的list
如果不想影响A的list,要使用listB.addAll(a.list)
在Java中,当类A的实例Aa的list被赋值给类B的listB时,对listB的操作会直接影响到A的list。如果不想影响A的list,应使用listB.addAll(a.list)来复制列表并添加元素。
class A {
public List list = new ArrayList();
}
class B{
public void test() {
A a = new A();
List listB = a.list;
listB.add(XXX);
}
}
这个时候就是A中的list增加了一个对象。因为,这里是赋值操作,所以操作listB就等于操作A的list
如果不想影响A的list,要使用listB.addAll(a.list)

被折叠的 条评论
为什么被折叠?