Methoden mit variablen Argumenten (varargs) ermöglichen die Übergabe einer beliebigen Anzahl von Argumenten zu einer Methode. Wenn Sie jedoch ein Array als Argumente an eine Varargs-Methode übergeben, verhält es sich möglicherweise nicht wie erwartet, da das Array als einzelnes Argument und nicht als einzelne Argumente behandelt wird.
In Java wird ein varargs-Parameter mit einem Auslassungszeichen (...) nach dem Datentyp deklariert, wie String ... args in der myFormat-Methode. Diese Syntax gibt an, dass der letzte Parameter in der Methodensignatur ein oder mehrere Argumente des angegebenen Typs akzeptieren kann.
class A { private String extraVar; public String myFormat(String format, Object ... args){ return String.format(format, extraVar, args); } }
In diesem Beispiel Die myFormat-Methode akzeptiert eine variable Anzahl von Argumenten. Beim Aufruf von String.format(format, extraVar, args) wird das args-Array jedoch als einzelnes Argument und nicht als separate Argumente behandelt.
Wie Sie möchten Wenn jedes Element in args als einzelnes Argument übergeben werden soll, können Sie ein neues Array erstellen, das die zusätzliche extraVar enthält.
String[] newArgs = prepend(args, extraVar); return String.format(format, newArgs);
In diesem Fall das Voranstellen Die Methode fügt extraVar am Anfang von args hinzu und gibt ein neues Array zurück, das dann an String.format übergeben werden kann.
Bei der Arbeit mit Varargs gibt es ein paar Fallstricke zu beachten Beachten Sie:
Das obige ist der detaillierte Inhalt vonWie kann ich in Java ein Array ordnungsgemäß an eine Methode mit variablen Argumenten übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!