List lst = new ArrayList<String>(); lst.add( 1 ); lst.add("Test004"); List<Integer> ls = lst ; ls.add(2); for (int i = 0; i < ls.size(); i++) { System.err.println(ls.get(i)); } System.err.println( "----------" ) ; List lst1 = new ArrayList<String>(); lst1.add("Test004") ; lst1.add(1); List<String> ls1 = lst1 ; ls1.add("Test0041"); for (int i = 0; i < ls1.size(); i++) { System.err.println( ls1.get(i) ) ; } 为什么第一个循环可以输出来不暴挫,而第二个循环就会包转行异常呢?
摘自 hfmbook的专栏
|