非常に興味深いJavaのトリックについて知りました。
void method1(Integer... a){
}
したがって、このメソッドには必要な数の整数を指定できます。
今、私がこのような同様の(オーバーロードされた)メソッドを持っている場合:
void method1(int a, int b){
}
次の行を実行すると、どのメソッドが実行されますか。
method1(1, 2);
さて、私はそれをさまざまなメソッド命令でテストするだけで非常に簡単に見つけることができましたが、「オーバーロード」メソッドの「ルール」について考えるとき、コンパイラが認識できるように、すべてのオーバーロードされたメソッドが同一でなければならないことを確認する必要があります正確にどれを使用するか。
私の意見では、コンパイラが混乱しているため、上記のコードは機能しないはずです。しかし、私がそれを試してみると、それはうまくいきます。
だから..誰かがこれについてもう少し背景情報を知っていますか?