Heim >Java >javaLernprogramm >Warum erhalte ich eine NullPointerException, wenn ich ein Objektarray in Java erstelle und verwende?

Warum erhalte ich eine NullPointerException, wenn ich ein Objektarray in Java erstelle und verwende?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-05 22:07:40745Durchsuche

Why Do I Get a NullPointerException When Creating and Using an Object Array in Java?

NullPointerException während der Objekt-Array-Erstellung: Behebung des Problems

Beim Versuch, mit einem Array von Objekten zu arbeiten, kann es zu einer NullPointerException kommen. Diese Ausnahme tritt auf, wenn Sie versuchen, auf ein Array-Element zuzugreifen, das noch nicht initialisiert wurde. Um das Problem zu verstehen, analysieren wir den bereitgestellten 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";
    }
}

In diesem Code definieren Sie eine ResultList-Klasse, die zwei Felder enthält: Name und Wert. Anschließend erstellen Sie ein Array namens boll mit fünf Elementen (standardmäßig null). Wenn Sie versuchen, einen Wert für boll[0].name festzulegen, erhalten Sie eine NullPointerException, da boll[0] null ist.

Um dieses Problem zu beheben, müssen Sie die Elemente des Boll-Arrays vor dem Zugriff initialisieren ihnen. Sie können dies erreichen, indem Sie ein neues ResultList-Objekt instanziieren und es jedem Element zuweisen:

public static void main(String[] args){
    ResultList[] boll = new ResultList[5];
    for (int i = 0; i < 5; i++) {
        boll[i] = new ResultList();
    }
    boll[0].name = "iiii";
}

Durch die Initialisierung der Boll-Array-Elemente stellen Sie sicher, dass sie gültige Referenzen haben, und vermeiden so die NullPointerException. Denken Sie daran, dass es bei der Arbeit mit Objektarrays wichtig ist, deren Elemente explizit zu initialisieren, bevor Sie sie verwenden.

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

Stellungnahme:
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