这是我的代码
package sumit;
import java.util.ArrayList;
class sum1{
ArrayList<Integer> list=null;
sum1(ArrayList<Integer> list){
this.list=new ArrayList<Integer>();
this.list=list;
}
public ArrayList<Integer> getList() {
return this.list;
}
}
public class Sk {
static sum1[] x = new sum1[5];
public static void main(String[] args) {
ArrayList<Integer> list0 = new ArrayList<Integer>();
list0.add(5);
list0.add(6);
sum1 s=new sum1(list0);
x[0]=s;
list0.clear();
list0.add(8);
list0.add(9);
sum1 d=new sum1(list0);
x[1]=d;
list0.clear();
System.out.println(x[0].getList());
System.out.println(x[1].getList());
}
}
我得到的是空数组,但是我已将对象存储到数组中。有人可以解释一下为什么我得到这样的输出
OUTPUT:
[]
[]
我知道这是由于list0.clear()
而发生的,但是该列表是否已作为副本存储在类中?为什么list0.clear()
影响存储在类中的列表?