#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;
}