java 如何判断null
判断 null 的方法
在 Java 中,判断一个对象是否为 null 是常见的操作,可以通过以下几种方式实现:
使用 == 操作符
直接使用 == 操作符与 null 进行比较:
Object obj = null;
if (obj == null) {
System.out.println("obj is null");
}
使用 != 操作符
检查对象是否不为 null:
Object obj = new Object();
if (obj != null) {
System.out.println("obj is not null");
}
使用 Objects.isNull()
Java 7 引入了 Objects 工具类,提供了 isNull 方法:
import java.util.Objects;
Object obj = null;
if (Objects.isNull(obj)) {
System.out.println("obj is null");
}
使用 Objects.nonNull()
检查对象是否不为 null:
import java.util.Objects;
Object obj = new Object();
if (Objects.nonNull(obj)) {
System.out.println("obj is not null");
}
使用 Optional 类
Java 8 引入了 Optional 类,可以更优雅地处理 null:
import java.util.Optional;
Object obj = null;
Optional.ofNullable(obj).ifPresentOrElse(
o -> System.out.println("obj is not null"),
() -> System.out.println("obj is null")
);
注意事项
- 直接使用
==或!=是最常见的方式,性能最好。 Objects.isNull()和Objects.nonNull()主要用于方法引用或 Lambda 表达式。Optional适合链式调用和函数式编程,但会引入一定的性能开销。
常见错误
避免在判断 null 之前调用对象的方法或属性,否则会抛出 NullPointerException:
String str = null;
if (str.equals("test")) { // 抛出 NullPointerException
System.out.println("str is test");
}
正确的做法是先判断 null:

String str = null;
if (str != null && str.equals("test")) {
System.out.println("str is test");
}






