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
相关推荐
子兮曰18 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
小羊没烦恼!18 小时前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
子兮曰18 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
一隅论数智18 小时前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
俊昭喜喜里18 小时前
java中的继承和多态的区别
java
小羊没烦恼!18 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
XiHongShi201618 小时前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱勇宝18 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
譕痕18 小时前
JSONObject与JSONArray封装数据格式区别
java·json