Übergabe von ListString an String ... Parameter

8

Ich habe Schwierigkeiten, eine Liste von Strings an eine Methode zu übergeben, die den Parameter " String ... " erfordert.

Kann mir jemand helfen?

%Vor% %Vor%     
RuNaWaY87 26.08.2015, 09:43
quelle

6 Antworten

10

Sie müssen List<String> in ein String-Array konvertieren, um es im Parameter 'varargs' von dummyMethod zu verwenden. Sie können toArray mit einem zusätzlichen Array als Parameter. Andernfalls gibt die Methode Object[] zurück und kompiliert nicht:

%Vor%     
Glorfindel 26.08.2015, 09:48
quelle
5

Sie können Folgendes tun:

%Vor%

Dies konvertiert die Liste in Array

    
Ahmad Al-Kurdi 26.08.2015 09:47
quelle
3

Übergeben Sie String-Array ( String[] ) innerhalb der Methode. Sie müssen Ihre Liste in Array konvertieren und dann übergeben.

%Vor%     
Naman Gala 26.08.2015 09:45
quelle
2

Der Var-Arg akzeptiert tatsächlich ein Array und Sie können es wie folgt verwenden:

%Vor%

Hier ist ein Beispielcode:

%Vor%     
i_am_zero 26.08.2015 09:50
quelle
2

Da Sie den Parameter später als Liste analysieren, schlage ich vor, die Methode wie folgt zu ändern:

%Vor%

um die zusätzlichen Kosten zu vermeiden.

Wenn Sie diese Methode jedoch "so wie sie ist" verwenden möchten, sollten Sie sie so nennen:

%Vor%

wie Glorfindel in seine Antwort vorschlägt, da die drei Punkte bedeuten, dass Sie die Methode mit vielen Strings oder einem Array von Strings aufrufen können (siehe diesen Beitrag für weitere Details).

    
vefthym 26.08.2015 09:48
quelle
2

Dies ist Vararg-Parameter und Sie sollten dafür Array übergeben. ArrayList wird nicht funktionieren. Sie können diese Liste vor der Übergabe an die Methode in Array konvertieren.

%Vor%     
SacJn 26.08.2015 09:46
quelle