检查列表是否包含任何内容(或不为空)的正确方法

时间:2014-01-09 16:39:52

标签: java arrays list

if (list != null) { ... }是否是检查列表中是否包含任何元素的正确方法?我不想将list.contains("")用于特定元素。只检查它是否为空。 list.isEmpty()检查列表是否为空。它与Java的理想相反是什么?

7 个答案:

答案 0 :(得分:3)

如果要检查列表是否已被初始化,请使用此处提到的空检查:

if( list != null)

要检查列表是否为非null且不包含任何元素,请同时添加isEmpty方法检查

if( list != null && !list.isEmpty())

答案 1 :(得分:1)

list!= null将检查列表是否已初始化。 但是list.isEmpty()会检查它是否包含任何元素。

!list.isEmpty()  should work for you.

答案 2 :(得分:1)

List<String> l = new ArrayList<String>() 
l.isEmpty() ; // checks whether there are any elements in the list l. You will get NullPointerException if l is null
if(l!=null)  // checks whether l is a reference to a object or not. i.e, has l been initialized?

答案 3 :(得分:1)

if (list != null && !list.isEmpty()){
  doSomething()
}

答案 4 :(得分:1)

  

if(list!= null){...}是检查列表是否有的正确方法   中的元素?

没有。这将检查list对象是否已初始化。我仍然可以使用空列表实现初始化list,即list = new ArrayList();

  

我不想对特定元素使用list.contains(“”)。

你也不应该。如果存在一个空字符串,即

,则返回true
list.add("");
list.consains("");   //true
list.size();    // 1
  

仅检查它是否为空。 list.isEmpty()检查列表是否存在   是空的。它与Java的理想相反是什么?

list.isEmpty()返回一个布尔值。和任何布尔值一样,你应用!操作员翻转它。即。

!true;   //false 
!list.isEmpty(); //checks if it is NOT empty

答案 5 :(得分:0)

您可以使用Apache中的CollectionUtils.isNotEmpty(Collection obj) 使用它,它将检查列表是否为空以及非空。

答案 6 :(得分:-1)

微米。 !list.isEmpty()?你真的只是问如何检查列表是否为空?