java对象如何判空
判断Java对象是否为空的常见方法
使用==运算符进行判空
直接比较对象是否为null,适用于所有对象类型:
if (object == null) {
// 对象为空
}
使用Objects.isNull()方法(Java 8+)
Java 8引入的工具类方法,语义更清晰:
import java.util.Objects;
if (Objects.isNull(object)) {
// 对象为空
}
字符串对象的判空
字符串需额外检查长度,避免NullPointerException:
if (str == null || str.isEmpty()) {
// 字符串为空或长度为0
}
集合类判空
集合需同时检查null和内容是否为空:
if (collection == null || collection.isEmpty()) {
// 集合为空或无元素
}
Optional类(Java 8+)
通过Optional包装对象,避免显式判空:
Optional.ofNullable(object).ifPresent(obj -> {
// 对象非空时的操作
});
Apache Commons或Guava工具库
第三方库提供更丰富的判空方法:

- Apache Commons Lang:
if (StringUtils.isEmpty(str)) { // 同时检查null和空字符串 // 字符串为空 } - Guava:
if (Strings.isNullOrEmpty(str)) { // 字符串为空 }
判空的最佳实践
- 优先使用
Objects工具类:代码可读性更高,减少直接null比较。 - 集合和字符串需双重检查:避免仅检查
null而忽略内容为空的情况。 - 利用Optional减少嵌套:适用于链式调用或复杂逻辑的场景。
- 自定义工具方法:重复判空逻辑可封装为公共方法。
示例:封装工具类
public class ValidationUtils {
public static boolean isNullOrEmpty(String str) {
return str == null || str.trim().isEmpty();
}
public static boolean isNullOrEmpty(Collection<?> coll) {
return coll == null || coll.isEmpty();
}
}






