2011-04-24 73 views
6

我有一個名爲public int getSize()的方法,它假定返回列表中的項目數。實例變量是private Listable[] items;我想這純粹是這樣的:返回列表中的項目數

int size = 0; 

for (int i = 0; i < items.length; i++){ 
size++; 
} 

return size; 

但是當我通過這些測試運行它,我得到的for (int i = 0; i < items.length; i++){行此NullPointerException異常

我不認爲它喜歡items.length因爲某些原因。我沒有在Java中遇到任何錯誤。我應該怎麼做?

我已經試過return items.length;

也沒有工作。

+8

變量項目爲空。順便說一句,你不需要循環,只需返回items.length; – MeBigFatGuy 2011-04-24 22:48:21

+0

我已經試過return items.length;它沒有工作 – user695696 2011-04-24 22:55:48

回答

2

我相信你忘了初始化變量。嘗試是這樣的:

items = new Listable[10]; 

爲了您的getSize()方法,你只需要返回items.length

+0

是啊,你釘了它。我忘了初始化變量。它現在有效,謝謝。 – user695696 2011-04-24 23:12:07

2

由於MeBigFatGuy已評論(+1)您的項目變量爲空。事實上,他的評論完全回答你的問題......這裏是一個應該做你想做的實現:

public int getSize() { 
    return items == null ? 0 : items.length; 
} 
相關問題