Übergeben der Liste <String> zu String …

Ich kämpfe, um eine Liste von Strings in eine Methode zu übergeben, die den Parameter " String … " erfordert.

Kann mir jemand helfen?

  • Android - Wie man diffenernt Image Effekte auf Bitmap wie Sepia, Schwarz und Weiß, Unschärfe etc
  • Wie fügt man Android-Lesezeichen auf Homescreen von Web-Seite?
  • Freigeben von Signaturen in gradle.properties für Android
  • UI immer stecken, wenn Softkeyboard gezeigt, während Mediaplayer spielen?
  • Nexus 7 (2013) und Win 7 64 - kann den USB-Treiber trotz der Überprüfung von vielen Foren und Online-Ressourcen nicht installieren
  • In welchem ​​Format werden die Kontakte in android gespeichert?
  • // How to put names into dummyMethod? List<String> names = getNames(); 

      public void dummyMethod(String... parameter) { mInnerList.addAll(Arrays.asList(parameter)); } 

  • Android java.lang.IllegalMonitorStateException: Objekt nicht durch Thread gesperrt vor warten ()
  • Android-Datenbindungen - wie man bool-Ressource benutzt, um die Sichtbarkeit des Layouts auszulösen
  • Android: LocationManager vs Google Play Services
  • Gerät Sreenshot funktioniert nicht in Android Debug Monitor
  • Kopieren eines Bytepuffers mit JNI
  • Firebase füge neues Kind mit dem angegebenen Namen hinzu
  • 6 Solutions collect form web for “Übergeben der Liste <String> zu String …”

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

     List<String> names = getNames(); dummyMethod(names.toArray(new String[names.size()])); 

    Sie können folgendes tun:

     dummyMethod(names.toArray(new String[names.size()]) 

    Dies wird die Liste in Array umwandeln

    Die var-arg akzeptiert tatsächlich ein Array und man kann es wie:

     dummyMethod(names.toArray(new String[names.size()])); 

    Hier ist ein Beispielcode:

     List<String> names = new ArrayList<>(); names.add("A"); names.add("B"); dummyMethod(names.toArray(new String[names.size()])); 

    Pass String Array ( String[] ) innerhalb Methode. Du musst deine Liste in Array umwandeln und dann weitergeben.

     if (names != null) { dummyMethod(names.toArray(new String[names.size()])); } 

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

     public void dummyMethod(List<String> parameter) { mInnerList.addAll(parameter); } 

    Um die zusätzlichen kosten zu vermeiden

    Allerdings, wenn du diese Methode "wie es ist" verwenden willst, dann solltest du es so nennen:

     dummyMethod(names.toArray(new String[names.size()])); 

    Wie Glorfindel in seiner Antwort vorschlägt, da die drei Punkte bedeuten, dass man die Methode mit vielen Strings oder einem Array von Strings aufrufen kann (siehe diesen Beitrag für weitere Details).

    Dies ist vararg Parameter und für diese sollten Sie Array passieren. ArrayList wird nicht funktionieren. Sie können diese Liste eher in das Array konvertieren, bevor sie an die Methode übergeben.

     String a = new String[names.size]; list.toArray(a) 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.