如何判断java对象是否为空
判断Java对象是否为空的常用方法
使用==进行判空
直接比较对象与null:
if (object == null) {
// 对象为空
}
字符串对象的判空
对于String类型,需同时检查null和空字符串:
if (str == null || str.isEmpty()) {
// 字符串为空或null
}
Java 11+可使用isBlank()进一步检查空白字符:
if (str == null || str.isBlank()) {
// 字符串为null、空或仅包含空白字符
}
集合类判空
对Collection(如List、Set),需检查null和isEmpty():
if (collection == null || collection.isEmpty()) {
// 集合为null或空
}
数组判空
数组需检查null和长度:
if (array == null || array.length == 0) {
// 数组为null或空
}
使用Optional类(Java 8+)
避免显式null检查:
Optional.ofNullable(object).ifPresent(obj -> {
// 对象非空时的操作
});
自定义对象的判空
可重写isEmpty()方法或实现工具类:
public boolean isEmpty() {
return this.field1 == null && this.field2 == null;
}
第三方库辅助
- Apache Commons Lang:
if (ObjectUtils.isEmpty(obj)) { // 支持null、字符串、集合、数组等 } - Guava:
if (Strings.isNullOrEmpty(str)) { // 字符串null或空检查 }
注意事项
- 避免在已判空的对象上调用方法,防止
NullPointerException。 - 对于
Map,判空逻辑与集合类似,使用isEmpty()。 - 使用
Objects.requireNonNull()可快速抛出NullPointerException。
通过组合上述方法,可覆盖大多数场景下的对象判空需求。







