我需要从整数数组列表中删除整数。我对字符串和其他对象没有问题。但是当我删除时,整数被视为索引而不是对象。
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(300);
list.remove(300);
当我尝试删除 300 时,我得到:06-11 06:05:48.576: E/AndroidRuntime(856): java.lang.IndexOutOfBoundsException: Invalid index 300, size is 3
这个很正常,有两个版本.remove()
列表的方法:一种采用整数作为参数并删除该索引处的条目,另一种采用泛型类型作为参数(在运行时,它是一个Object
) 并将其从列表中删除。
并且方法的查找机制总是首先选择更具体的方法......
你需要:
list.remove(Integer.valueOf(300));
为了调用正确的版本.remove()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)