Unerwartete Fehler können beim Überladen von Methoden auftreten, die Argumente variabler Länge verwenden.
Diese Fehler beinhalten oft Mehrdeutigkeit, da ein Methodenaufruf aufgrund von Überladung mehrdeutig sein kann.
Das folgende Programm veranschaulicht ein Beispiel für einen mehrdeutigen Aufruf einer überladenen Varargs-Methode.
Das Programm zeigt die korrekte Überladung der vaTest()-Methode an, wird jedoch aufgrund des mehrdeutigen vaTest()-Aufrufs nicht kompiliert.
Der vaTest()-Aufruf; kann als vaTest(int...) oder vaTest(boolean...) interpretiert werden, was zu Mehrdeutigkeiten führt.
static void vaTest(int... v) { // ...
static void vaTest(int n, int... v) { // ...
Der vaTest(1)-Aufruf kann als vaTest(int...) oder vaTest(int, int...) interpretiert werden, was ihn mehrdeutig macht.
Bei Unklarheiten müssen Sie möglicherweise andere Methodennamen verwenden oder den Code überprüfen, um eine klarere Lösung zu finden.
Das obige ist der detaillierte Inhalt vonVarargs und Mehrdeutigkeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!