
35行remove不掉,33行已经打印出来,index输出正常
debug进去看,35行执行后和没执行一样,list里面没有变化
------解决思路----------------------
index.get(i)获取出来的是Integer对象,你调用list的remove方法,会移除元素与index.get(i)相同的Integer对象,通过你的程序可以看出,这是不可能的(因为你的list中存放的是100,50,50,20,但是index可能存放的是0,1,2,3)
原因:
1、集合框架只能存放对象,不能存放基本数据类型,所以index取出来的是Integer对象,而不是你想要的int类型。
2、list提供了两个remove方法,分别是remove(int index),remove(Object o),因为Integer对象也是Object类型的,所以匹配list.remove(Object o),不会进行拆箱
解决:
list.remove(index.get(i).intValue)