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ですか? noThe constructor ... is ambiguousまたは同様のエラーが発生するのはなぜですか?
PS: この質問は従来の方法でも機能します。