2011-04-24 77 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; 
} 
相关问题