Übergabe ... args

X

xedeXs

Gast
Hallo!

Ich habe hier eine Methode und möchte gerne "args" durch eine ArrayList<String> hinzufügen.

Java:
public void foo (int x, String ... args) {
// ...
}

Java:
ArrayList<String> werte = new ArrayList<String>();
        werte.add(//... );

       foo(1, werte); // geht nicht und auch nicht werte.toString()

Wie kann ich nun die "werte" foo übergeben?
 

Timothy Truckle

Top Contributor
Hallo!

Ich habe hier eine Methode und möchte gerne "args" durch eine ArrayList<String> hinzufügen.

Java:
public void foo (int x, String ... args) {
// ...
}

Java:
ArrayList<String> werte = new ArrayList<String>();
        werte.add(//... );

       foo(1, werte); // geht nicht und auch nicht werte.toString()

Wie kann ich nun die "werte" foo übergeben?
An sinnvollsten wäre ja, den Parameter in
Code:
List<String>
(ind die Methodenlogik entsprechend) zu ändern.
Bis dahin könnte
Code:
werte.toArray(new String[0]);
helfen.

bye
TT
 
X

xedeXs

Gast
Java:
werte.toArray(new String[0]);

geht leider nicht und was macht das für einen Sinn einen neuen String[0] zu übergeben?

Gibt es noch eine andere Möglichkeit?
 
F

Firephoenix

Gast
Klar geht das:

Java:
public static void main(String[] args){
		ArrayList<String> list = new ArrayList<String>(Arrays.asList(new String[] {"Bli", "Bla", "Blub"}));
		foo(3,list.toArray(new String[0]));
	}
	
	public static void foo(int x, String... args){
		for(String s : args){
			System.out.println(x+s);
		}
	}

Ausgabe:
3Bli
3Bla
3Blub

"String... args" ist nichts anderes als "String[] args", mit der besonderheit, dass man das Eingabe-Array auch als seperate parameter übergeben kann und nicht jedes mal als Entwickler sowas schreiben muss wie foo(3, new String[] {param1, param2, param3, ...}), tatsächlich ist das aber nichts anderes.
Der String[0] ist eine Eigenheit der Methode, ein Array des Typs als Parameter zu erwarten, damit die Methode ein Typsicheres Array zurückgeben kann.

Gruß
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
L Übergabe an eine eher einfache Java- Applikation wegen Kündigung Allgemeine Java-Themen 1
W Zugriff auf Objektvariablen vs. Übergabe Allgemeine Java-Themen 3
kodela Übergabe einer Referenz Allgemeine Java-Themen 20
F Übergabe eines Befehls an Dos-Box Allgemeine Java-Themen 5
S OOP this-Referenz als Konstruktor-Übergabe Allgemeine Java-Themen 8
J Übergabe von post request Parametern Allgemeine Java-Themen 9
nutellastulle Zugriff, Übergabe, Bearbeitung und Ausgabe von Jlist Allgemeine Java-Themen 6
M Übergabe mehrer Files an selbstprogrammieren Parser Allgemeine Java-Themen 4
A Problem bei Übergabe von Werten in ein double Array. Allgemeine Java-Themen 21
S Übergabe / Aufruf einer beliebigen Methode in einer anderen Allgemeine Java-Themen 9
W Threads & Pipes --> Ist eine Übergabe von Objekten mö Allgemeine Java-Themen 7
P Übergabe- Parameter SQL Map Allgemeine Java-Themen 45
M Übergabe von Referenzen Allgemeine Java-Themen 3
G Probleme bei String Übergabe um Public Key zu erzeugen ? Allgemeine Java-Themen 6
R Übergabe und Autostart von Paint Allgemeine Java-Themen 4
V Übergabe per Referenz. Allgemeine Java-Themen 5
L Array Übergabe Allgemeine Java-Themen 8
G Übergabe funzt nicht, aber wieso? Allgemeine Java-Themen 3
J Methoden per Übergabe eines "Methodennamen-Strings&quot Allgemeine Java-Themen 20
lhein Übergabe von Objekten von Java an C über JNI Allgemeine Java-Themen 5
C Übergabe Parameter verändert Allgemeine Java-Themen 5
E Java .exe Datei mit args starten Allgemeine Java-Themen 2
B Input/Output Konsolen input args Allgemeine Java-Themen 6
T Java applet args Allgemeine Java-Themen 5
H args abfrage vereinfachen Allgemeine Java-Themen 7
L Apache CLI: Args[] übergeben Allgemeine Java-Themen 3
N args Allgemeine Java-Themen 4
J Unicode: cmd parameter (main args); exec params; filenames Allgemeine Java-Themen 2
T Problme mit args Argumenten Allgemeine Java-Themen 17

Ähnliche Java Themen

Neue Themen


Oben