ケース1
static void call(Integer i) {
System.out.println("hi" + i);
}
static void call(int i) {
System.out.println("hello" + i);
}
public static void main(String... args) {
call(10);
}
ケース 1 の出力: hello10
ケース 2
static void call(Integer... i) {
System.out.println("hi" + i);
}
static void call(int... i) {
System.out.println("hello" + i);
}
public static void main(String... args) {
call(10);
}
コンパイル エラーを表示しますreference to call ambiguous
。しかし、私には理解できませんでした。なんで ?call()
しかし、からのメソッドのいずれかをコメントアウトすると、Case 2
正常に機能します。ここで何が起こっているのか、誰かが理解するのを手伝ってくれますか?