2013-07-10 2 views
2

У меня есть список объектов, которые необходимо проверить, является ли его пустым или нет, но я все следующие возвращает исключение nullpointer.Как проверить список объектов пустым?

List <MyClass> mylist; 

mylist.isEmpty 
mylist.equal(null) 
+0

посмотреть на [CollectionUtils.isEmpty()] (http://commons.apache.org/proper/commons-collections//javadocs/api-3.2 .1/org/apache/commons/collections/CollectionUtils.html # isEmpty (java.util.Collection)) из коллекций коллекций –

+0

В дополнение к ответам вы также можете проверить mylist.size()> 0, чтобы узнать, включен ли ваш список пуст или нет. –

ответ

1

Вы не инициализирует myList перед вызовом методов.

Необходимо сначала инициализировать его. Например

List <MyClass> mylist = new ArrayList<MyClass>(); 
myList.add(first); 
myList.add(second); 

теперь вы можете позвонить

mylist.isEmpty 
mylist.equal(null) 
2

Поскольку вы не инициализируется сам List <MyClass> mylist. В настоящее время это относится к ссылке null. При попытке вызвать любой метод на null ссылка будет NullPointerException. Вы можете использовать null проверку перед вызовом isEmpty() на него, как это:

if(mylist!=null && !mylist.isEmpty()) { 
// mylist is not empty 
} 

Вы также можете использовать CollectionUtils#isNotEmpty()

Null-безопасный контроль Apache, если указанный набор не пуст.

Null возвращает false.

1

new Ваш список.

List <MyClass> mylist = new ArrayList<MyClass>(); 

теперь проверяют:

boolean b = (mylist!=null) ? false : mylist.isEmpty(); 
Смежные вопросы