Java 开发 - Objects 的 requireNonNull 方法

Objects 的 requireNonNull 方法

1、基本介绍
java 复制代码
public static <T> T requireNonNull(@RecentlyNullable T obj)
  1. 检查一个对象是否为 null,如果是 null 则抛出 NullPointerException
java 复制代码
public static <T> T requireNonNull(@RecentlyNullable T obj, @RecentlyNonNull String message)
  1. 检查一个对象是否为 null,带自定义错误消息
java 复制代码
public static <T> T requireNonNull(@RecentlyNullable T obj, @RecentlyNonNull Supplier<String> messageSupplier)
  1. 检查一个对象是否为 null,带 Supplier 延迟计算错误消息
2、演示
  1. 检查一个对象是否为 null
java 复制代码
Person person = new Person("张三", 18);
Objects.requireNonNull(person).introduce();
复制代码
# 输出结果

我是张三,我今年18岁
java 复制代码
Person person = null;
Objects.requireNonNull(person).introduce();
复制代码
# 输出结果

java.lang.NullPointerException
  1. 检查一个对象是否为 null,带自定义错误消息
java 复制代码
Person person = null;
Objects.requireNonNull(person, "person 不能为 null").introduce();
复制代码
# 输出结果

java.lang.NullPointerException: person 不能为 null
  1. 检查一个对象是否为 null,带 Supplier 延迟计算错误消息
java 复制代码
public String getErrorMessage() {
    System.out.println("getErrorMessage 被调用");
    return "person 不能为 null";
}
java 复制代码
Person person = null;
Objects.requireNonNull(person, () -> getErrorMessage()).introduce();
复制代码
# 输出结果

java.lang.NullPointerException: person 不能为 null
相关推荐
猹叉叉(学习版)几秒前
【ASP.NET CORE】 10. 数据校验
笔记·后端·c#·asp.net·.netcore
填满你的记忆1 分钟前
JVM 内存模型详解:Java 程序到底是如何运行的?
java·开发语言·jvm
RDCJM3 分钟前
Plugin ‘org.springframework.bootspring-boot-maven-plugin‘ not found(已解决)
java·前端·maven
芥子沫3 分钟前
Memos捷径(Shortcuts)用法介绍
linux·服务器·windows
DJ斯特拉4 分钟前
SpringBoot项目的基本构建
java·spring boot·后端
小小心愿家5 分钟前
初识 maven,Spring boot,Spring MVC
java·后端·spring
Victor3569 分钟前
MongoDB(41)如何使用$group阶段?
后端
Victor35610 分钟前
MongoDB(40)如何使用$match阶段?
后端
身如柳絮随风扬11 分钟前
Spring IOC容器的工作原理
java·spring
小温冲冲11 分钟前
C++与QML交互指南:从基础到实战
开发语言·c++·交互