我知道,Collections当你通过引用传递它们时,Java是可变的.
我想知道究竟在原始列表和子列表的内存地址中发生了什么.
子列表和原始列表是否指向同一个对象?
以下是反映子列表中对主要原始列表所做更改的代码示例.
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add(1, "3");
List<String> list2 = new LinkedList<String>(list);
list.addAll(list2);
list2 = list.subList(2, 5);
list2.clear(); //Changes are made to list
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)