Liste konvertieren zu Saite[] auf Java

Lesezeit: 2 Minuten

Benutzer-Avatar
Christian

Wie konvertiere ich eine aufführen von String in ein Reihe? Der folgende Code gibt einen Fehler zurück.

public static void main(String[] args) {
    List<String> strlist = new ArrayList<String>();
    strlist.add("sdfs1");
    strlist.add("sdfs2");
    String[] strarray = (String[]) strlist.toArray();       
    System.out.println(strarray);
}

Fehler:

Ausnahme im Thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
    at test.main(test.java:10)

  • For most questions with an error, you should post up the error message that you are receiving.

    – a’r

    Mar 31, 2010 at 12:01

  • I like stackoverflow more. Thanks for ranking 1 in google.

    – Ninjaxor

    Apr 7, 2013 at 0:57

user avatar
jjujuma

You want

String[] strarray = strlist.toArray(neuer String[0]);

Sehen hier für die Dokumentation und beachten Sie, dass Sie diese Methode auch so aufrufen können, dass sie das übergebene Array füllt, anstatt sie nur zu verwenden, um herauszufinden, welcher Typ zurückgegeben werden soll. Beachten Sie auch, dass Sie es vielleicht vorziehen würden, wenn Sie Ihr Array drucken

System.out.println(Arrays.toString(strarray));

da dies die tatsächlichen Elemente druckt.

  • Mit strlist.toArray(new String[strlist.size()]); ist meist effizienter.

    – Peter Lawrey

    2. April 2010 um 17:28 Uhr

public static void main(String[] args) {
    List<String> strlist = new ArrayList<String>();
    strlist.add("sdfs1");
    strlist.add("sdfs2");

    String[] strarray = new String[strlist.size()]
    strlist.toArray(strarray );

    System.out.println(strarray);


}

  • Ich bevorzuge auch diese Version des toArray -Methode, da sie den Parameter strarray wiederverwendet, anstatt eine neue Instanz zurückzugeben

    – Jakob B

    31. März 2010 um 12:17 Uhr

List.toArray() gibt zwangsläufig ein Array von Object zurück. Um ein String-Array zu erhalten, müssen Sie die Casting-Syntax verwenden:

String[] strarray = strlist.toArray(new String[0]);

Weitere Informationen finden Sie im Javadoc für java.util.List.

Ich habe konzipiert und umgesetzt Dollar für solche Aufgaben:

String[] strarray= $(strlist).toArray();

Benutzer-Avatar
Arthur

hoffe das kann jemandem da draußen helfen:

Listenliste = ..;

Schnur [] stringArray = list.toArray(neuer String[list.size()]);

tolle Antwort von hier: https://stackoverflow.com/a/4042464/1547266

Benutzer-Avatar
Phil

Schnur[] strarray = strlist.toArray(neuer String[0]);

Wenn Sie möchten, dass die Liste in eine Zeichenfolge konvertiert wird, verwenden Sie StringUtils.join (slist, ‘\ n’);

1179120cookie-checkListe konvertieren zu Saite[] auf Java

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy