... Operator

Status
Nicht offen für weitere Antworten.

javaben

Mitglied
Hallo!

Ich bin grad zum ersten Mal über den ... Operator gestolpert und frage mich, wie (bzw. ob) es geht, einer Methode, die ein oder mehrere Argumente erwartet, mit einem Array zu füttern.

Also wenn ich z.B. einer Methode

Code:
public void foo(String... values){
...
}

ein String-Array übergeben will. Wenn ich genau weiß, wieviele Elemente mein Array hat, könnte ich es ja so machen:

Code:
String[] strings = {"test","bla","blub"};
foo(strings[0],strings[1],strings[2]);

Was tu ich aber, wenn die Array-Größe variabel ist?
 

javaben

Mitglied
Argh... hab's grad selbst ergoogelt. Wusste vorher nur nicht, wie der Operator heißt, was die Sache schwierig gemacht hat.

Für die, die's nicht wissen: das ding läuft unter dem Namen "Varargs" und ist hier
beschrieben.

Lösung meines Problems: man kann auch einfach das Array übergeben.
 

faetzminator

Gesperrter Benutzer
Der Sinn davon ist, wenn man nur ein Element des zu übergebenden Arrays hat, dass man diesen nicht kompliziert in ein Array packen muss sondern direkt übergeben kann. Beide Zeilen in Methode foo() funktionieren:
Java:
void foo() {
    bar("einzelner String");
    bar(new String[] {"einzelner String"});
}
void bar(String... args) {
    [...]
}
 

musiKk

Top Contributor
Wo wäre eigentlich das Problem gewesen, das in einer Sekunde auszuprobieren? Solche naheliegenden "kann man eigentlich"-Fragen waren mir schon immer schleierhaft.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben