Heim > Java > javaLernprogramm > Wie kann ich in Java ein Array ordnungsgemäß an eine Methode mit variablen Argumenten übergeben?

Wie kann ich in Java ein Array ordnungsgemäß an eine Methode mit variablen Argumenten übergeben?

Linda Hamilton
Freigeben: 2024-12-12 18:30:24
Original
917 Leute haben es durchsucht

How Can I Properly Pass an Array to a Variable Argument Method in Java?

Übergabe eines Arrays an eine Methode mit variablen Argumenten in Java

Übersicht

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.

Varargs-Syntax verstehen

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.

Beispiel: Übergabe eines Arrays an String.format

class A {
  private String extraVar;
  public String myFormat(String format, Object ... args){
    return String.format(format, extraVar, args);
  }
}
Nach dem Login kopieren

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.

Lösung: Verwenden eines anderen Arrays

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);
Nach dem Login kopieren

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.

Fallstricke bei Varargs

Bei der Arbeit mit Varargs gibt es ein paar Fallstricke zu beachten Beachten Sie:

  • Null übergeben: Null als einziges Argument übergeben auf einen varargs-Parameter kann zu einer NullPointerException führen. Um dies zu vermeiden, verwenden Sie null als Element in einem Array oder wandeln Sie null in den Typ varargs um.
  • Hinzufügen zusätzlicher Argumente: Wenn Sie ein zusätzliches Argument an eine Methode übergeben müssen, die an Wenn Sie ein Array als varargs-Argument verwenden, müssen Sie ein neues Array erstellen, das sowohl das vorhandene Array als auch das zusätzliche Argument enthält.
  • Primitiv Array: Varargs funktionieren nicht mit Arrays primitiver Typen. Um ein Array von Grundelementen zu übergeben, müssen Sie jedes Element in seine entsprechende Wrapper-Klasse einschließen (z. B. int[] zu Integer[]).

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage