可変長引数を使用するメソッドをオーバーロードすると、予期しないエラーが発生することがあります。
これらのエラーには曖昧さが伴うことが多く、オーバーロードによりメソッド呼び出しがあいまいになる場合があります。
次のプログラムは、オーバーロードされた varargs メソッドに対するあいまいな呼び出しの例を示しています。
プログラムは vaTest() メソッドの正しいオーバーロードを示していますが、あいまいな vaTest() 呼び出しのためコンパイルされません。
vaTest() 呼び出し。 vaTest(int...) または vaTest(boolean...) として解釈される可能性があるため、あいまいさが生じます。
static void vaTest(int... v) { // ...
static void vaTest(int n, int... v) { // ...
vaTest(1) 呼び出しは vaTest(int...) または vaTest(int, int...) として解釈される可能性があるため、曖昧になります。
曖昧な場合は、別のメソッド名を使用するか、コードを確認してより明確な解決策を見つける必要がある場合があります。
以上が可変引数と曖昧性の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。