我有一个对象列表需要检查它是否为空,但我所有以下内容都返回nullpointer异常。
List <MyClass> mylist;
mylist.isEmpty
mylist.equal(null)
答案 0 :(得分:2)
因为您尚未初始化List <MyClass> mylist
本身。目前它指的是null
引用。尝试在null
引用上调用任何方法都是NullPointerException
。您可以在调用null
之前使用isEmpty()
检查,如下所示:
if(mylist!=null && !mylist.isEmpty()) {
// mylist is not empty
}
您也可以使用Apache的CollectionUtils#isNotEmpty()
Null-safe检查指定的集合是否为空。
Null返回false。
答案 1 :(得分:1)
在调用方法之前,您没有初始化myList
。
您需要先进行初始化。例如
List <MyClass> mylist = new ArrayList<MyClass>();
myList.add(first);
myList.add(second);
现在你可以打电话了
mylist.isEmpty
mylist.equal(null)
答案 2 :(得分:1)
您必须new
您的列表。
List <MyClass> mylist = new ArrayList<MyClass>();
现在检查:
boolean b = (mylist!=null) ? false : mylist.isEmpty();