List<String> list = new ArrayList<>(); // 需要拷贝的原始List
list.add("aaa");
list.add("bbb");
list.add("ccc");
List<String> listNew = new ArrayList<>(); // 新List
// 将原始List的值赋值给新List
CollectionUtils.mergeArrayIntoCollection(new Object[list.size()], listNew);
Collections.copy(listNew, list);
// 现在将心List中的值删除一个,会发现不影响原始List,例如:
List<String> list_remove= new ArrayList<>(); // 中间List
for (String s : listNew){
if("aaa".equals(s)){
list_remove.add(s);
}
}
listNew.removeAll(list_remove);
System.out.println(listNew); // [bbb, ccc]
System.out.println(list); // [aaa, bbb, ccc] 原始list没变