3

现在我有一个ArrayList<Integer>.
正如上面所说,ArrayList 有两种删除方法。
假设我有一个整数 2,我想删除该列表中的 ELEMENT 2 而不是 POSITION 2(第三个元素)上的元素,我应该如何告诉 Java 这样做?

4

2 回答 2

8

这是一个与自动装箱有关的问题。实际上, when T == Integer,您有两种删除方法:

  • void remove(int index)
  • void remove(Integer object)

只需强制编译器通过将其强制转换为 anInteger或直接使用 an来选择适当的、基于对象的版本Integer

list.remove((Integer)2);
list.remove(Integer.valueOf(2));
于 2013-03-18T03:43:11.707 回答
0

您应该使用public boolean remove(Object o)方法从列表中删除对象。在您的情况下,您应该将声明写为this.remove(new Integer(2));

于 2013-03-18T03:49:48.920 回答