Objects 的 requireNonNull 方法
1、基本介绍
public static <T> T requireNonNull(@RecentlyNullable T obj)
- 检查一个对象是否为 null,如果是 null 则抛出 NullPointerException
public static <T> T requireNonNull(@RecentlyNullable T obj, @RecentlyNonNull String message)
- 检查一个对象是否为 null,带自定义错误消息
public static <T> T requireNonNull(@RecentlyNullable T obj, @RecentlyNonNull Supplier<String> messageSupplier)
- 检查一个对象是否为 null,带 Supplier 延迟计算错误消息
2、演示
- 检查一个对象是否为 null
Person person = new Person("张三", 18);
Objects.requireNonNull(person).introduce();
# 输出结果
我是张三,我今年18岁
Person person = null;
Objects.requireNonNull(person).introduce();
# 输出结果
java.lang.NullPointerException
- 检查一个对象是否为 null,带自定义错误消息
Person person = null;
Objects.requireNonNull(person, "person 不能为 null").introduce();
# 输出结果
java.lang.NullPointerException: person 不能为 null
- 检查一个对象是否为 null,带 Supplier 延迟计算错误消息
public String getErrorMessage() {
System.out.println("getErrorMessage 被调用");
return "person 不能为 null";
}
Person person = null;
Objects.requireNonNull(person, () -> getErrorMessage()).introduce();
# 输出结果
java.lang.NullPointerException: person 不能为 null