java里面list是引用的好例子

java里面的赋值和引用是不同的,以后要详细总结一下!

看一个例子:

 1 public static void main(String[] args) {
 2         List<String> list = new ArrayList<String>() {
 3             {
 4                 add("1");
 5                 add("2");
 6                 add("3");
 7             }
 8         };
 9         Map<Long, List<String>> map = new HashMap<>();
10         map.put(1L, list);
11         System.out.println("original list size = " + map.get(1L).size());
12         list.add("abc");
13         System.out.println("after add element, list size = " + map.get(1L).size());
14         list.removeAll(list);
15         System.out.println("after remove all, list size = " + map.get(1L).size());
16     }

程序的输出结果:

original list size = 3
after add element, list size = 4
after remove all, list size = 0

这里说明map在进行添加list的时候,对于list实例来说是一个引用。

原文地址:https://www.cnblogs.com/chen-kh/p/6308615.html