返回列表中的项目数

时间:2011-04-24 22:46:31

标签: java

我有一个名为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;

也没有用。

3 个答案:

答案 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