Возвращает количество элементов в списке

#java

#java

Вопрос:

У меня есть вызываемый метод public int getSize() , и предполагается, что он возвращает количество элементов в списке. переменная экземпляра private Listable[] items; Я думал, что это будет что-то вроде этого:

 int size = 0;

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

return size;
  

Но когда я прогоняю его через эти тесты, я получаю это исключение nullpointerexception в for (int i = 0; i < items.length; i ){ строке

Я не думаю, что это нравится items.length по какой-то причине. Я не получаю никаких ошибок в Java. Как я должен это сделать?

я уже пробовал возвращать элементы.длина;

это тоже не сработало.

Комментарии:

1. переменная items равна null. Кстати, вам не нужен цикл, просто возвращайте элементы. длина;

2. я уже пробовал возвращать элементы. длина; это не сработало

Ответ №1:

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);
  

Ответ №2:

Я полагаю, вы забыли инициализировать переменную. Попробуйте что-то вроде:

 items = new Listable[10];
  

Для вашего метода getSize() вам просто нужно вернуть items.length

Комментарии:

1. да, ты справился с этим. я забыл инициализировать переменную. теперь это работает, спасибо.

Ответ №3:

Как прокомментировал MeBigFatGuy ( 1), ваша переменная items равна null. Фактически, его комментарий полностью отвечает на ваш вопрос… Вот реализация, которая должна делать то, что вы хотите:

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