LinkedList的remove()方法有很多重载,可以把鼠标移动到这个方法上方让编译器显示这个方法的参数信息以确定在这里使用的是哪个重载。
例如,如果remove(i)的i中是一个int的包装类Integer而不是int类型的话,该起就会提示你调用的方法是remove(Object o),意为查找这个linkedlist里面有没有和这个o相等的元素,如果有则删除。这就和i代表的整数值无关了。
因此要改成remove(i.intValue()),i.intValue将Integer转换为int。