现在我有ArrayList<Integer>
正如this所说,ArrayList有两种删除方法
假设我有一个整数2,我想删除该列表中的ELEMENT 2而不是POSITION 2(第三个元素)上的元素,我应该如何告诉Java这样做?
答案 0 :(得分:8)
这是与autoboxing相关的问题。实际上,当T == Integer
时,您有两种删除方法:
void remove(int index)
void remove(Integer object)
只需强制编译器选择适当的,基于对象的版本,方法是将其转换为Integer
或直接使用Integer
:
list.remove((Integer)2);
list.remove(Integer.valueOf(2));
答案 1 :(得分:0)
您应该使用public boolean remove(Object o)
方法从列表中删除对象。在您的情况下,您应该将声明写为this.remove(new Integer(2));