一、使用isEmpty方法
Java中的List接口提供了一个isEmpty()方法,用于判断List是否为空。该方法返回一个boolean类型的值,如果List为空,则返回true,否则返回false。可以使用该方法来简单地判断List是否为空。
List<String> list = new ArrayList<>(); if (list.isEmpty()) { System.out.println("List is empty"); } else { System.out.println("List is not empty"); }
二、使用size方法
除了使用isEmpty方法外,还可以使用List的size方法来判断List是否为空。List的size方法返回List中元素的数量,如果List为空,则返回0。
List<String> list = new ArrayList<>(); if (list.size() == 0) { System.out.println("List is empty"); } else { System.out.println("List is not empty"); }
需要注意的是,使用size方法判断List是否为空时,不能使用list.size() == null的方式,因为size方法返回的是一个int类型的值,而不是一个引用类型。
三、使用Objects.isNull方法
Java 8中引入了Objects类,该类提供了一个isNull方法,用于判断一个对象是否为null。可以使用该方法来判断List是否为空。
import java.util.Objects; List<String> list = new ArrayList<>(); if (Objects.isNull(list)) { System.out.println("List is null"); } else if (list.isEmpty()) { System.out.println("List is empty"); } else { System.out.println("List is not empty"); }
需要注意的是,isNull方法只能用于判断对象是否为null,不能用于判断List是否为空。因此,还需要结合isEmpty方法来判断List是否为空。
四、使用Guava的Objects.equal方法
Guava是Google开源的一个Java工具库,其中的Objects类提供了一个equal方法,用于比较两个对象是否相等。如果两个对象都为null或都不为null但相等,则返回true,否则返回false。可以使用该方法来判断List是否为空。
import com.google.common.base.Objects; List<String> list = new ArrayList<>(); if (Objects.equal(list, Collections.emptyList())) { System.out.println("List is empty"); } else { System.out.println("List is not empty"); }
需要注意的是,使用Guava的Objects.equal方法判断List是否为空时,需要将List和Collections.emptyList()进行比较,否则无法正确判断List是否为空。
五、使用Apache Commons Collections的CollectionUtils.isEmpty方法
Apache Commons Collections是一个开源的Java集合相关工具库,其中的CollectionUtils类提供了一个isEmpty方法,用于判断集合是否为空。该方法接收一个Collection类型的参数,如果该集合为null或包含0个元素,则返回true,否则返回false。可以使用该方法来判断List是否为空。
import org.apache.commons.collections4.CollectionUtils; List<String> list = new ArrayList<>(); if (CollectionUtils.isEmpty(list)) { System.out.println("List is empty"); } else { System.out.println("List is not empty"); }
需要注意的是,使用Apache Commons Collections的CollectionUtils.isEmpty方法判断List是否为空时,需要导入commons-collections4包,否则无法使用该方法。