簡體   English   中英

Java Object(Boolean,Integer)添加時獲取NullPointerException

[英]Java Object(Boolean,Integer) when add get NullPointerException

當我嘗試重置標記為“標記”的列表時,出現空指針異常。

問題一定是因為我從未說過B和C是什么。 (布爾B,整數C)而且我不知道該怎么做。

這是我的代碼的一部分:

Marked[] marked;


//Create list marked!
public class Marked<B,C>{
    public B bool;
    public C comp;
}

public Graph(int N)
{

    //Fill marked with false and 0
    marked = new Marked[N];
    for(int i=0;i<N;i++){

        marked[i].bool = false;
        marked[i].comp=0;
    }

創建Marked數組實際上並不初始化數組中的元素:

marked = new Marked[N];
for(int i = 0; i < N; i++) {
    marked[i] = new Marked<Boolean, Integer>();
    marked[i].bool = false;
    marked[i].comp = 0;
}

marked = new Marked[N];的語句marked = new Marked[N]; N元素創建一個新的Marked對象數組,但不初始化它們。 此數組中的每個元素都將為null 您需要通過調用構造函數來手動初始化它們。

因此,您的for循環應如下所示:

for(int i=0;i<N;i++) {
    marked[i] = new Marked();
    marked[i].bool = false;
    marked[i].comp=0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM