Heim >Java >javaLernprogramm >Warum erhalte ich eine NullPointerException, wenn ich ein Array benutzerdefinierter Objekte erstelle?
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 } }
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();
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!