shad0w Geschrieben 10. April 2003 Geschrieben 10. April 2003 Hi, bei folgendem code: System.out.println("test: "+( ( jARdbCollectorSet ) collector.get( i ) ).getInsertdate() ); rowData[i][0] = ( ( jARdbCollectorSet ) collector.get( i ) ).getInsertdate(); gibt mir die erste zeile einen wert in der console aus. die 2te bring ne nullpointerexception. rowData ist folgendermassen definiert: public static Object[][] rowData = null; woran kann das liegen ?? Zitieren
shad0w Geschrieben 10. April 2003 Autor Geschrieben 10. April 2003 hat sich erledigt. dank Jaraz weiss ich nun auch, dass man Array's initialisieren muss ... auch wenn der kompiler 'NullPointerException' und nicht 'ArrayNichtInitialisiert' sagt ... Zitieren
SgtBadAzz Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von -leliel- hat sich erledigt. dank Jaraz weiss ich nun auch, dass man Array's initialisieren muss ... auch wenn der kompiler 'NullPointerException' und nicht 'ArrayNichtInitialisiert' sagt ... Bitte schieb es nicht auf den Compiler. Frank Zitieren
PerdianMG Geschrieben 11. April 2003 Geschrieben 11. April 2003 auch wenn der kompiler 'NullPointerException' und nicht 'ArrayNichtInitialisiert' sagt ... ] Und genau das ist doch auch richtig - NullPointerException heisst ja gerade "Ich wollte auf irgendetwas zugreifen wo aber noch kein reales Objekt hintersteckt". Und genau so ist es ja auch mit deinem Array - bevor du es initialisierst, also ihm konkrete Werte zuweist steckt ja noch nichts dahinter. NullPointer ist also vollkommen Okay. Christian Zitieren
gajUli Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von -leliel- ... dass man Array's initialisieren muss ... auch wenn der kompiler 'NullPointerException' und nicht 'ArrayNichtInitialisiert' sagt ... Du hattest die Array-Variable mit "null" initialisiert. Das heisst, das Array existiert nicht. Also versuchst Du, auf ein Element zuzugreifen, das es gar nicht gibt, was eine Exception zur Folge hat. Weiter: Exceptions werden nicht vom Compiler erzeugt, sondern von der Laufzeitumgebung. Noch weiter: Eine Meldung "ArrayNichtInitialisiert" waere irrefuehrend. Unter Initialisierung versteht man das Setzen von Werten zu Beginn. Dies setzt voraus, die Datenstruktur, in dem diese Werte gesetzt werden, existiert, was ja nicht der Fall ist. Uebrigens werden Arrays in Java automatisch initialisiert; all ihre Elemente haben zu Beginn den Wert 0. Zitieren
Jaraz Geschrieben 11. April 2003 Geschrieben 11. April 2003 Hi, 3 mal die Smilys mitzitiert und trotzdem alles auf die Goldwaage legen. Ich glaube vom Sinn her, war ihm schon klar warum es nicht geklappt hat. Ich habe mich bei manchen aufeinanderfolgenden Aufrufen auch schon mal gefragt, warum die Laufzeitumgebung mir nicht wenigstens sagt von welchem Typ das nicht existierende Object ist. Gruß Jaraz Zitieren
gajUli Geschrieben 12. April 2003 Geschrieben 12. April 2003 >3 mal die Smilys mitzitiert und trotzdem alles auf die Goldwaage legen. Eines meiner Lieblingszitate zum Thema Programmieren darauf: "Der Unterschied zwischen richtig und fast richtig ist der gleiche wie zwischen einem Blitz und einem Gluehwuermchen." >Ich glaube vom Sinn her, war ihm schon klar warum es nicht geklappt hat. Das ist aber public hier, keine Privataudienz, und Du glaubst es ja auch nur. >Ich habe mich bei manchen aufeinanderfolgenden Aufrufen auch schon mal gefragt, warum die Laufzeitumgebung mir nicht wenigstens sagt von welchem Typ das nicht existierende Object ist. Vielleicht weil es den Anwender nichts angehen soll, welche Klassen der Programmierer vergewaltigt. Oder weil das etwas aufwendig waere. Oder weil der Hinweis an sich im Vergleich zu C++ schon ziemlich komfortabel ist. Oder weil die Java-Vordenker meinten, gewissenhaften Programmierern wuerde der Hinweis zum Aufstoebern eines Bugs mehr als ausreichen. Oder... Zitieren
Jaraz Geschrieben 12. April 2003 Geschrieben 12. April 2003 Original geschrieben von gajUli Eines meiner Lieblingszitate zum Thema Programmieren darauf: "Der Unterschied zwischen richtig und fast richtig ist der gleiche wie zwischen einem Blitz und einem Gluehwuermchen." Mmhh, ganz schön spät für solche Weisheitem, werde ich mir aber merken. Original geschrieben von gajUli Vielleicht weil es den Anwender nichts angehen soll, welche Klassen der Programmierer vergewaltigt. Oder weil das etwas aufwendig waere. Oder weil der Hinweis an sich im Vergleich zu C++ schon ziemlich komfortabel ist. Oder weil die Java-Vordenker meinten, gewissenhaften Programmierern wuerde der Hinweis zum Aufstoebern eines Bugs mehr als ausreichen. Oder... ... weil sonst nicht so schöne Threads entstehen würden. Gruß und gute Nacht Jaraz 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.