Des erreurs inattendues peuvent survenir lors de la surcharge de méthodes utilisant des arguments de longueur variable.
Ces erreurs impliquent souvent une ambiguïté, où un appel de méthode peut être ambigu en raison d'une surcharge.
Le programme suivant illustre un exemple d'appel ambigu à une méthode varargs surchargée.
Le programme affiche la surcharge correcte de la méthode vaTest(), mais ne sera pas compilé en raison de l'appel ambigu de vaTest() ;.
L'appel vaTest() ; peut être interprété comme vaTest(int...) ou vaTest(boolean...), ce qui entraîne une ambiguïté.
static void vaTest(int... v) { // ...
static void vaTest(int n, int... v) { // ...
L'appel vaTest(1) peut être interprété comme vaTest(int...) ou vaTest(int, int...), ce qui le rend ambigu.
En cas d'ambiguïté, vous devrez peut-être utiliser des noms de méthodes différents ou revoir le code pour trouver une solution plus claire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!