看一个重载造成的恶果:
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)是删除第几个元素之意。所以........