慎用重载_2

看一个重载造成的恶果:

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)是删除第几个元素之意。所以........

原文地址:https://www.cnblogs.com/wangjiyuan/p/shenyongchongzai2.html