王吉元-NWPU

导航

 

看一个重载造成的恶果:

List<Integer> list=new ArrayList<Integer>();
        for(int i=-3;i<3;i++){
            list.add(i);
        }
        
        for(int i=0;i<3;i++){
            list.remove(i);
        }
        System.out.println(list);

结果:

[-2, 0, 2]

神马情况?竟然不是[-3,-2,1]。

原因就是List的remove方法有两个重载remove(E)和remove(int)。而remove(int)是删除第几个元素之意。所以........

posted on 2014-01-04 16:19  王吉元  阅读(130)  评论(0编辑  收藏  举报