2015-07-01 2 views
1

У меня есть список массива «подробности».Почему непустой список выбрасывает исключение Null Pointer?

List<HistoryDetails> details 

, где HistoryDetails - это объект, содержащий строки.

Когда я проверяю размер, это дает мне положительное значение.

details.size() 

Но когда я пытаюсь получить доступ к элементу, он выбрасывает исключение нулевого указателя.

details.get(0).getFirstElement(); 


Attempt to invoke virtual method 'java.lang.String com.HistoryDetails.getFirstElement()' on a null object reference 

Я вызываю элемент на самой следующей строке, где я проверяю размер. Следовательно, ничто не должно быть сброшено. Что может быть неправильным?

ответ

1

A Список details, имеющий много элементов, может иметь первый элемент нулевого объекта. перед тем используя этот пункт проверка null.

if(details.get(0)!=null){ 
details.get(0).getFirstElement(); 
} 
2

Похоже, что details является List, но первый элемент List - null. То есть, это выглядит как details.get(0) == null.

0

Потому что он содержит null.

Log.d("TEST", details.get(0)); //should return null 
0

Это позволит избежать исключения нулевого указателя:

if (!details.isEmpty()) { 
    details.get(0).getFirstElement(); 
} 
Смежные вопросы