Die übergabe-Liste<String> String parameter...
Ich bin kämpfen, um passieren eine Liste von Strings in eine Methode, dass der parameter "String...".
Kann mir jemand helfen?
//How to put names into dummyMethod?
List<String> names = getNames();
public void dummyMethod(String... parameter) {
mInnerList.addAll(Arrays.asList(parameter));
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie konvertieren die
List<String>
zu einem String-array, um es zu benutzen in der 'varargs' parameterdummyMethod
. Sie könnentoArray
mit einem extra-array als parameter. Andernfalls gibt die Methode einenObject[]
und es wird nicht kompilieren:Können Sie Folgendes tun :
diese konvertieren die Liste der array -
toArray()
zurückObject[]
- dieser Code wird nicht kompiliert.Pass String-array (
String[]
) innen-Methode. Müssen Sie konvertieren Sie Ihre Liste zu Array und übergeben Sie es.toArray()
zurückObject[]
- dieser Code wird nicht kompiliert.Den var-arg eigentlich akzeptiert ein array, und Sie können es verwenden, wie:
Hier ist ein Beispiel-code:
Da Sie später Parsen der parameter als Liste, ich schlage vor, die änderung der Methode:
vermeiden Sie die extra Kosten.
Jedoch, wenn Sie diese Methode verwenden möchten, "wie es ist", dann sollte man Sie nennen mag:
als Glorfindel schlägt in seine Antwort,
da die drei Punkte bedeuten, dass Sie rufen Sie die Methode mit vielen Strings oder ein array von Strings (siehe dieser Beitrag für mehr details).
toArray()
zurückObject[]
- dieser Code wird nicht kompiliert.Dies ist vararg-parameter und für diese sollten Sie pass-array. ArrayList funktioniert nicht. Sie können eher konvertieren Sie diese Liste, um array vor der übergabe an die Methode.