goback add

JAVA诡异的代码

4208 点击·0 回帖
灯火互联
楼主

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的专栏


喜欢0 评分0