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

oct*_*ref 3 java integer list

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

Jac*_*ack 8

这是与自动装箱有关的问题.实际上,当T == Integer你有两种删除方法时:

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

只需强制编译器选择适当的,基于对象的版本,方法是将其转换为Integer或直接使用Integer:

list.remove((Integer)2);
list.remove(Integer.valueOf(2));
Run Code Online (Sandbox Code Playgroud)