【发布时间】:2012-10-18 16:44:48
【问题描述】:
public class MyClass {
private String string;
private Object[] objects;
// constructor 1
public MyClass(String string, Object... objects) {
this.string = string;
this.objects = objects;
}
// constructor 2
public MyClass(String string) {
this.string = string;
}
public static void main(String[] args) {
MyClass myClass = new MyClass("foobar");
}
}
在这种情况下,Java 编译器是如何决定使用constructor 2 而不是constructor 1 的?为什么没有The constructor ... is ambiguous或出现类似错误?
PS:这个问题也适用于经典方法。
【问题讨论】:
标签: java variadic-functions ambiguous