为什么在将列表存储到类中然后将每个类对象存储到数组中时得到空数组

时间:2019-06-20 16:46:57

标签: java

这是我的代码

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()影响存储在类中的列表?

0 个答案:

没有答案