【发布时间】:2013-10-18 06:25:22
【问题描述】:
我在一个类中有两个方法...
public void method(String var1, String var2, Object var3) {
//do stuff
}
public void method(String var1, String var2, Object[] var3) {
//do stuff
}
当我进行以下调用时...obj.method("string", "string", obj) 会调用正确的方法,但是,当我尝试调用obj.method("string", "string", obj[]) 时,会调用该方法的第一个化身。
我可以给出任何注释或“提示”以确保调用我预期被调用的方法吗?我知道Object[] 是Object,但我希望在运行时Object[] 的方法会在Object 之前被调用。
【问题讨论】:
-
这不应该发生。传递
Object[]将调用第二种方法。 -
我无法重现您的问题。如果我使用
Object类型的引用,我将调用第一个版本的方法。如果我要使用Object[],则将调用第二种方法。 -
删除第一种方法,并在您使用第一种方法的情况下传递一个元素的数组。
-
您始终可以将第三个参数转换为
Object[]。 -
@ElGuapo 再次,我得到了预期的行为,即在传递字符串数组时调用
Object[]的方法......对我有用。
标签: java