浅拷贝只是进行地址的拷贝,深拷贝将该内容拷贝一份并开辟一片新的内存地址进行存放数据。方法 : new ArrayList<>(arrayList);
public static void main(String[] args) {
//System.out.println(combine(4,2));
ArrayList<Integer> arrayList = new ArrayList<>();
for(int i=0;i<10;i++){
arrayList.add(i);
}
ArrayList<Integer> arrayList2=arrayList;
ArrayList<Integer> arrayList1 = new ArrayList<>(arrayList);
System.out.println(arrayList1==arrayList);
System.out.println(arrayList2==arrayList);
}
可以发现直接赋值是浅拷贝,而 new ArrayList<>() 是深拷贝
















