Wer sich schon einmal mit Java auseinandergesetzt hat, wird die Fehlermeldung java.lang.NullPointerException vielleicht bereits kennen. Was euch Java mit dieser Meldung sagen möchte und wie ihr den Fehler beheben könnt, erfahrt ihr hier.

Programmiert ihr in Java und erhaltet den Fehler „java.lang.NullPointerException“ – NPE abgekürzt –, kann dieser „null pointer“ eine Vielzahl an Ursachen haben. Wie ihr mit der Fehlermeldung umgeht, welche Gründe es gibt und welche Lösungen euch bei NullPointerException zur Verfügung stehen, erfahrt ihr nachfolgend.

Java-Programmierung für Anfänger - bei Amazon *

Video: Java Runtime-Überblick

Winload Java Runtime Video Overview
53.026 Aufrufe

java.lang.NullPointerException: Was ist das?

In der Java-Programmierung taucht besonders der Fehler „java.lang.NullPointerException“ immer wieder in zahlreichen Variationen auf. Dabei handelt es sich um einen Fehler, den das Compiler-Programm nicht erkennen kann und beim Ausführen eines Scripts deshalb diese Fehlermeldung ausspuckt.

java-lang-NullPointerException
Im Detail bedeutet diese Fehlermeldung, dass das Script probiert, auf ein Objekt zuzugreifen, das den Wert „null“ enthält. Um das Problem zu lösen, müsst ihr die Referenz entweder mit einer anderen Referenz oder mit dem new-Operator initialisieren, dazu später mehr.

NullPointerException – Varianten

Ein NullPointerException-Fehler entsteht immer dann, wenn null anstelle einer Instanz eines Objekts verwendet wurde. Dies ist immer dann der Fall, wenn ihr einer Variablen eines Objekts den Wert null zugewiesen habt und auf dieses Objekt zugegriffen wird.

In folgenden Fällen wird der NullPointerException-Fehler angezeigt:

  • beim Aufruf einer Methode eines null-Objekts
  • bei der Abfrage der Länge eines Arrays, das gleich null ist
  • beim Zugriff auf ein Attribut eines null-Objekts
  • bei einem Zugriff auf ein Element eines Arrays, welches gleich null ist

java.lang.NullPointerException – Ursachen

Häufige Fehlerursachen sind:

  • Ein Objektattribut wurde bei der Deklaration auf null gesetzt und vor dem ersten Zugriff nicht initialisiert.
  • Einer Variablen wird durch eine Methode ein Objekt zugewiesen, welche anstelle eines Objekts null zurückliefert.
  • Eine weitere Fehlerursache könnte ein Objektattribut, welches einen identischen Namen wie eine lokale Variable trägt. Sollte dann versehentlich auf die lokale Variable anstelle des Objektattributs zugegriffen werden, kommt es zu einem Fehler.

Beispielsweise tritt der NPE-Fehler auf, wenn definiert ist:

Object obj = null;
obj.hashCode();

Die Objekt-Referenz zeigt zu keinem definierten Ort. Wenn sich die Methode wie folgt auf ein null-Objekt bezieht: „doSomething(null);“, kann es zur NullPointerException kommen. Diese Meldung weist euch auf den Fehler hin, damit ihr den Code berichtigen könnt.

Wenn ihr beispielsweise die Variable für ein Objekt festlegt und das Objekt aber noch nicht initialisiert ist, erhaltet ihr im einfachsten Fall die Fehlermelsung „num may not have been initialized“.

java-lang-NullPointerException-Fehler

java.lang.NullPointerException: Lösung, um den Fehler zu beheben

Um den NullPointerException-Fehler beheben zu können, müsst ihr zunächst einmal herausfinden, welches Objekt den Wert null zugewiesen bekommen hat. Prüft immer auf null, wenn ihr das Objekt nicht selbst erstellt habt und null kein valides Argument für die Methode ist. In welcher Zeile sich der Fehler versteckt, könnt ihr anhand der Fehlermeldung herausfinden.

Dann könnt ihr mit einem Debugger testen, welches Objekt null ist. Achtet dabei darauf, dass ihr euer angelegtes Objekt nicht überschreibt bzw. mit einem Null-Wert abspeichert. Anschließend solltet ihr natürlich noch herausfinden, warum das Objekt den Wert null besitzt.

NPE vermeiden: Tipps

Es gibt verschiedene Methoden, um beim Java-Programmieren die NullPointerException-Fehlermeldung zu vermeiden:

  • Prüft, ob ein Objekt null ist bevor ihr eine Methode auf es anwendet oder bevor ihr versucht, ihm eine Variable zu geben, die es bereits hat.
  • Strukturiert euren Code sinnvoll, beispielsweise: if („SomeString“.equals(inputString)) {} //
    Auch wen inputString null ist, wird keine Exception ausgegeben.
  • Macht Anmerkungen wie @Nullable und @NotNull.

Über Java

Java ist eine objektorientierte Programmiersprache des Unternehmens Sun Microsystems. Die Programmiersprache ist ein Bestandteil der Java-Technologie und wird in erster Linie zur Entwicklung von Programmen angewandt.

Zum Thema:

Kommentare zu diesem Artikel

Weitere Themen

Neue Artikel von GIGA SOFTWARE

  • WhatsApp Web – Messenger-Client für den Browser

    WhatsApp Web – Messenger-Client für den Browser

    Mit WhatsApp Web könnt ihr den beliebten Messenger auch direkt im Browser auf eurem PC benutzen. Der Web-Client verbindet sich dabei über euren WhatsApp-Account auf eurem Smartphone mit den WhatsApp-Servern. So könnt ihr beispielsweise daheim bei längeren Unterhaltungen gemütlich die Laptop- oder PC-Tastatur nutzen, ohne euch die Finger auf dem Touchscreen wund zu drücken.

    Thomas Kolkmann 3

  • VOX-Live-Stream legal und kostenlos online anschauen - So gehts

    VOX-Live-Stream legal und kostenlos online anschauen - So gehts

    Ihr würdet gerne VOX im Livestream online am PC oder Smartphone schauen, wisst aber nicht wie das geht und was es kostet? Lest nachfolgend, ob es einen kostenlosen VOX-Live-Stream gibt, was ihr tun könnt, wenn ihr eure Lieblingssendung verpasst habt und wie ihr auf die VOX Mediathek zugreifen könnt.

    Christin Richter 2

* gesponsorter Link