如何指定Java使用哪种方法?

时间:2013-03-18 03:40:25

标签: java list integer

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

2 个答案:

答案 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));