【发布时间】:2011-07-26 16:19:31
【问题描述】:
我使用ArrayList<Integer>,我注意到有两种删除方法:
从List接口继承的那个:
public boolean remove(Object o)
还有一个在ArrayList中实现:
public Object remove(int index)
就我而言,当我调用list.remove(2); 时,会调用哪个方法?为什么?因为我的“对象”也是一个整数......
谢谢。
【问题讨论】:
-
这是一个虚假的问题,因为一个简单的测试会在大约一分钟内回答这个问题。
-
Thomas 打败了我 - 如果不确定这样简单的事情,请尝试一下。写一个简单的程序,看看结果如何。发布到 StackOverflow 所花费的时间大致相同。
-
查尔斯·古德温打败了我 :-)
-
@Thomas Carpenter 关于调用哪个函数的问题可以在一分钟内回答,但关于为什么仍然需要回答的问题。
-
@bstick12 :在这种情况下,编译器会进行最具体的调用,这确实是对 int 索引的调用。看我的回答。
标签: java inheritance arraylist polymorphism