Java ArrayList 移除方法多态性

标签 java inheritance arraylist polymorphism

我正在使用 ArrayList<Integer>我注意到有两种删除方法:

继承自List的那个界面:

public boolean remove(Object o)

并且在 ArrayList 中实现了一个:

public Object remove(int index)

在我的情况下,我会调用 list.remove(2); ,将调用哪个方法?为什么?因为我的“对象”也是一个整数...

谢谢。

最佳答案

如果你这样调用方法:

intList.remove(2);

第二项将被删除。 如果您这样调用该方法:

intList.remove(new Integer(2)));

对象 2 将被删除。

关于Java ArrayList 移除方法多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833253/

相关文章:

JavaScript 原型(prototype)继承 : Why does call to getter/setter of child affect parent?

java - 克服 super 上的重复方法静态引用

java - 从 ArrayList Java 中的 HashMap 键中检索所有值

java - 错误: variable sblst is already defined in method generate(int) but no error for ForLoop

java - 如果 List<List<T>> 结构中不存在新列表,如何更好地测试和创建新列表?

java - 将 System.in 重定向到 swing 组件

java - 如何修复 '"com.spotify.error.client_authentication_failed”

java vm 选项和 AWS::ECS::TaskDefinition

java - 为什么 Java 不允许多重继承,但允许遵循具有默认实现的多个接口(interface)

java - 比较两个 arraylist 对象不起作用