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
相关推荐
NE_STOP21 分钟前
Spring AI Alibaba - MCP入门
java
nice_lcj52024 分钟前
【从零理解 Spring AI · 07】对话记忆:让模型记住上一句说了什么
java·spring ai·ai应用开发·chatmemory·对话记忆
陈随易26 分钟前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
量化分析码农37 分钟前
【Python量化波动率实战 04】低波动异象:低波组真的跑赢高波组吗
后端
风上猫1 小时前
MySQL多值索引:让 JSON 数组也能走索引(以及 6 个容易踩的坑)
后端
总要学点什么1 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
田甲1 小时前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言
SL_staff1 小时前
制造业交付崩盘?用跨部门节点协同计划打通销售、生产与质量链路
java·开源·产品
严肃小白兔2 小时前
MATLAB 绘图与科研论文插图制作:图形设计、统计表达与矢量导出
开发语言·matlab·科研绘图