当前位置: 代码迷 >> J2SE >> list的remove步骤不起作用
  详细解决方案

list的remove步骤不起作用

热度:185   发布时间:2016-04-23 19:52:01.0
list的remove方法不起作用

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)
  相关解决方案