Kaihai Geschrieben 9. April 2009 Geschrieben 9. April 2009 (bearbeitet) Hallo, ich habe ein eine Arrayliste ein Array eingebunden ArrayList arrlist = new ArrayList(); String[] element = null; for(int i = 1; i <= 1000; i++){ for(int u = 1; u <= 8; u++){ element = new String[8]; schreib = String.valueOf(i) + "A" + String.valueOf(u); element[u-1] = schreib; } arrlist.add(element); } und möchte die Werte aus der Arraylist, als array element in ein Array testarr schreiben String[][] testarr; testarr = new String[arrlist.size()][8]; try{ for(int c = 1; c < arrlist.size(); c++) { testarr[c-1] = ((String[])arrlist.get(c-1)); } System.out.println(testarr[155][7].toString()); }catch (Exception e){ System.out.println(e.toString()); } wenn ich versuche, den wert im letzten Feld des Array zu lesen klappt es System.out.println(testarr[155][7].toString()); wenn ich versuche den Wert in einem der vorherigen Felder zu lesen bekomme ich eine java.lang.NullPointerException bei System.out.println(testarr[155][5].toString()); Weiss jemand, wieso ich dann eine java.lang.NullPointerException bekomme? LG Kai Bearbeitet 9. April 2009 von Kaihai Zitieren
Klotzkopp Geschrieben 9. April 2009 Geschrieben 9. April 2009 Du legst deine Arrays von 8 Strings jeweils 8 Mal an. Dabei wirfst du jedesmal das vorherige Array weg. Es bleibt nur das letzte, bei dem dann eben nur das 8. Element tatsächlich ein Stringobjekt enthält. Sprich: Es ist keine gute Idee, das Array in der inneren Schleife zu erzeugen. Zitieren
flashpixx Geschrieben 9. April 2009 Geschrieben 9. April 2009 Ich würde Dir zusätzlich empfehlen, die ArrayList, da sie generisch ist, auch so zu nutzen: ArrayList<String> Dann musst Du später nicht casten Phil Zitieren
Kaihai Geschrieben 9. April 2009 Autor Geschrieben 9. April 2009 Manchmal sieht man den Wald vor lauter Bäumen nicht Es funktioniert Danke LG Kai Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.