我正在嘗試爲我的Java類製作遊戲,但我一直在獲取NPE。我知道這意味着其中一個變量被傳遞爲null,但我不知道在哪裏。我已經檢查了所有涉及的變量。我相信這可能是一個初始化數組的問題,但我仍然沒有看到我做錯了什麼。我已經檢查過堆棧溢出,並且由於各種原因已經看到NPE,但是我找不到適用於我的解決方案。當通過數組傳遞布爾值時發生java.lang.NullPointerException
public class Inventory{
public int gold = 0;
private Item[] itemListArray = new Item[30];
private JButton[] itemButtonArray = new JButton[30];
private JButton buttonBack = new JButton("Back");
private static final String HOME = "Home";
public Inventory() {
for(int i = 1;i < 31; i++)
{
itemListArray[i].emptySlot = true; //Here is where the NPE hits
}
}}
也就是說在NPE呼籲錯誤
public class Item {
protected String name = "";
protected int def = 0;
protected int stack = 100;
protected boolean stackable = false;
protected boolean consume = false;
boolean emptySlot = true;
protected ImageIcon icon;
public Item(){
}
public boolean isArmor()
{
if(def >= 1)
{
return true;
} else {
return false;
}
}
public boolean isConsumable()
{
if(consume = true)
{
return true;
} else {
return false;
}
}
public boolean isEmpty()
{
if(emptySlot = true)
{
return true;
} else {
return false;
}
}
這裏是項目的申報。
請回答我的問題,我似乎無法弄清楚。
NPE的確有一個原因*。你試圖使用的是'null' –
可能重複的[Java數組,NullPointerException?](http://stackoverflow.com/questions/15170192/java-array-nullpointerexception)或任何其他100次這個已被問到。 –