Это мой код
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()
влияет на список, хранящийся в классе?