我有一个名为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;
也没有用。
答案 0 :(得分:4)
http://www.easywayserver.com/blog/java-how-to-get-size-of-list/
我在浏览网页时看到这篇文章,其中包含了实现list.size()方法的代码。
List<String> ls=new ArrayList<String>();
ls.add("one");
ls.add("Three");
ls.add("two");
ls.add("four");
int sizeOfList=ls.size();
System.out.println("Size of List :"+sizeOfList);
答案 1 :(得分:2)
由于MeBigFatGuy已评论(+1)您的items变量为null。事实上,他的评论完全回答了你的问题......这是一个应该做你想做的实现:
public int getSize() {
return items == null ? 0 : items.length;
}
答案 2 :(得分:2)
我相信你忘了初始化变量。尝试类似:
items = new Listable[10];
对于你的getSize()方法,你只需要返回items.length