Veröffentlicht 9. April 200916 j 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 200916 j von Kaihai
9. April 200916 j 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.
9. April 200916 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.