Heim > Java > javaLernprogramm > Warum erhalte ich eine NullPointerException, wenn ich ein Array benutzerdefinierter Objekte erstelle?

Warum erhalte ich eine NullPointerException, wenn ich ein Array benutzerdefinierter Objekte erstelle?

Barbara Streisand
Freigeben: 2024-12-25 07:35:31
Original
463 Leute haben es durchsucht

Why Do I Get a NullPointerException When Creating an Array of Custom Objects?

NullPointerException beim Instanziieren eines Arrays benutzerdefinierter Objekte

Wenn Sie versuchen, ein Array von Objekten zu erstellen, kann es zu einer NullPointerException kommen, wenn Sie dies nicht tun Initialisieren Sie die einzelnen Elemente des Arrays ordnungsgemäß.

Bedenken Sie Folgendes Code:

public class ResultList {
    public String name;
    public Object value;
}

public class Test {
    public static void main(String[] args) {
        ResultList[] boll = new ResultList[5];
        boll[0].name = "iiii"; // NullPointerException here
    }
}
Nach dem Login kopieren

In diesem Beispiel erstellen Sie ein Array von ResultList-Objekten, haben aber noch keine tatsächlichen Objekte erstellt, die Sie den Array-Elementen zuweisen möchten. Infolgedessen sind alle Elemente des boll-Arrays zunächst null und der Versuch, auf boll[0].name zuzugreifen, löst eine NullPointerException aus.

Um diese Ausnahme zu beheben, müssen Sie die Array-Elemente initialisieren, bevor Sie auf ihre Eigenschaften zugreifen . Dies kann erreicht werden, indem Sie mit dem Schlüsselwort new eine neue Instanz der ResultList-Klasse erstellen und diese dem Array-Element zuweisen, wie folgt:

boll[0] = new ResultList();
Nach dem Login kopieren

Nachdem Sie diese Zeile hinzugefügt haben, können Sie auf den Namen zugreifen und Werteigenschaften von boll[0], ohne dass eine NullPointerException auftritt.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich eine NullPointerException, wenn ich ein Array benutzerdefinierter Objekte erstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage