Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

NullPointerException bei Wertzuweisung

Empfohlene Antworten

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 ??

hat sich erledigt.

dank Jaraz weiss ich nun auch, dass man Array's initialisieren muss ... auch wenn der kompiler 'NullPointerException' und nicht 'ArrayNichtInitialisiert' sagt ... :(:rolleyes::D

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 ... :(:rolleyes::D

Bitte schieb es nicht auf den Compiler.

Frank

auch wenn der kompiler 'NullPointerException' und nicht 'ArrayNichtInitialisiert' sagt ... :(:rolleyes::D]

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

Original geschrieben von -leliel-

... dass man Array's initialisieren muss ... auch wenn der kompiler 'NullPointerException' und nicht 'ArrayNichtInitialisiert' sagt ... :(:rolleyes::D

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.

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

>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... :D

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... :D

... weil sonst nicht so schöne Threads entstehen würden.

Gruß und gute Nacht

Jaraz

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.