Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String;

  • Themenstarter Themenstarter Manawyrm
  • Beginndatum Beginndatum
M

Manawyrm

Gast
Hallo,
ich hab folgenden Error:

java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String;

Java:
     java.util.List ret = Arrays.<String>asList((String)(parameters.split(" ")[0]));

Kurz zum Rest, ich hab den String parameters. Den muss ich auf " " splitten, und dann brauch ich den als [Ljava.lang.String.
Ich hab irgendwo gelesen, dass das ein doppeltes Array ist, also ein List of StringArray. Wenn das stimmt, müsste nur ein Array rein.
(Ich versuche ein Plugin zu entwickeln für ein OpenSource Projekt..)

Dazu sei noch kurz zu sagen, dass ich aus der .net Ecke komme, und mich noch nicht wirklich in Java eingewöhnt hab.

Gruß,
Tobias
 
Dazu sei noch kurz zu sagen, dass ich aus der .net Ecke komme, und mich noch nicht wirklich in Java eingewöhnt hab.

das merkt man 😉 also was willst du machen? einen string anhand der leerzeilen trennen? ok, das ginge mit split(), dann bekommst du allerdings ein eindimensionales array zurück. "irgendwo gelesen" wird wohl nicht in der api gewesen sein 🙂

Java Platform SE 6

den cast zum string kannst du dir übrigens auch sparen und die typenbezeichnung für die generics auch noch an die richtige stelle scubsen

Arrays (Java Platform SE 6)

was für ein plugin für welches projekt entwickelst du das denn, wenn ich fragen darf?
 
Java:
(String)(parameters.split(" ")[0]);

Hier kommt ein String raus, z.B. "abc"... den Du dann mit

Java:
Arrays.<String>asList("abc");

in eine Liste verwandeln willst.

Java:
java.util.List ret = Arrays.<String>asList(parameters.split(" "));

whl. ist das so gewollt.
 
Zuletzt bearbeitet:
java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String;

Java:
     java.util.List ret = Arrays.<String>asList((String)(parameters.split(" ")[0]));
Die Fehlermeldung besagt, dass irgendwo (aber nicht in dieser Zeile) versucht wird eine ArrayList in ein String Array zu casten.

Vermutung: Du versuchst irgendwo die Liste
Code:
ret
als String Array zu verwenden bzw. in ein solches zu casten.
Mit der obigen Codezeile bekommst Du eine Liste, die einen String enthält. Das ist so gewollt?
 
Danke,
jetzt hab ich
String[] ret = parameters.Split(" ");

aber bekomme jetzt in etwa
java.lang.String kann nicht in [l.java.String gewandelt werden.

Danke,
Manawyrm
 
Wenn Du uns immer die "falschen" Codeabschnitte postest ist es schwierig Dir zu helfen. In der StackTrace Ausgabe steht üblicherweise der genaue Fehler und die Codezeile in der er auftritt.
Ein bisschen Code drumrum ist auch nicht verkehrt. Dann muss man nicht immer soviele Annahmen machen bzw. raten.
 
Gotcha!

Java:
String[] st = parameters.split(" ");
    String[][] f = new String[1][st.length];
int i = 0;
for (String item: st) {
   f[0][i] = item;
    i += 1;
}

Geht 😀

Verdammt, das war so einfach das ich nicht dachte das es geht.

Gruß,Tobias
 

Zurück
Oben