Utilice únicamente isEmpty del paquete de utilidades java.
El primer caso: instancia la lista, pero el tamaño está vacío.
List<String> list =new ArrayList<>();
if (list.isEmpty()) {
System.out.println("1");
}
if (!list.isEmpty()) {
System.out.println("2");
}
if (list != null) {
System.out.println("3");
}
if (list != null && list.size() > 0) {
System.out.println("4");
}
Salida:
1
3
El segundo caso: agregar valor a la lista
List<String> list =new ArrayList<>();
list.add("da");
if (list.isEmpty()) {
System.out.println("1");
}
if (!list.isEmpty()) {
System.out.println("2");
}
if (list == null) {
System.out.println("3");
}
if (list != null && list.size() > 0) {
System.out.println("4");
}
Salida:
2
4
El tercer caso: solo cree una referencia a la lista sin instanciación.
List<String> list = null;
if (list.isEmpty()) {
System.out.println("1");
}
if (!list.isEmpty()) {
System.out.println("2");
}
if (list != null) {
System.out.println("3");
}
if (list != null && list.size() > 0) {
System.out.println("4");
}
Salida:
Exception in thread "main" java.lang.NullPointerException
Método de mejora:
使用 org.apache.commons.collections.CollectionUtils;
CollectionUtils.isEmpty (Collecions <extend>);
Se puede evitar
java.lang.NullPointerException异常