2

我有一个需要检查其是否为空的对象列表,但我以下所有内容都返回空指针异常。

List <MyClass> mylist;

mylist.isEmpty
mylist.equal(null)
4

3 回答 3

2

因为你还没有初始化它List <MyClass> mylist本身。目前它指的是null参考。尝试在null引用上调用任何方法将是一个NullPointerException. null您可以在调用它之前使用检查isEmpty(),如下所示:

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

您还可以使用 Apache 的CollectionUtils#isNotEmpty()

如果指定的集合不为空,则进行空安全检查。

空返回假。

于 2013-07-10T05:19:04.543 回答
1

myList在调用方法之前您没有初始化。

你需要先初始化它。例如

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

现在你可以打电话了

mylist.isEmpty
mylist.equal(null)
于 2013-07-10T05:19:03.037 回答
1

你必须new列出你的清单。

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

现在检查:

 boolean b = (mylist!=null) ? false : mylist.isEmpty();
于 2013-07-10T05:32:18.413 回答