浅拷贝
List 其本质就是数组,而其存储的形式是地址
1循环遍历复制
List<TestClone>listB=newArrayList<>(listA.size());
for(TestCloneclone:listA){
listB.add(clone);
}
2使用 List 实现类的构造方法
List<TestClone> listB = new ArrayList<>(listA);
3使用 list.addAll()
listB.addAll(listA);
4Java.util.Collections.copy()
Collections.copy(listB, listA)
5Java 8 Stream API 将 List 复制到另一个 List
List<TestClone> listB = listA.stream().collect(Collectors.toList());
6.JDK 10
List<TestClone> listB = List.copyOf(listA);
深拷贝
深拷贝就是将 listA 复制给 listB 的同时,给 listB 创建新的地址,再将地址 A 的内容传递到地址 B