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
相关推荐
Halo_tjn2 分钟前
Java 基于字符串相关知识点
java·开发语言·算法
梦想的颜色7 分钟前
java 利用redis来限制用户频繁点击
java·开发语言
报错小能手9 分钟前
Swift 并发 Combine响应式框架
开发语言·ios·swift
Eric_见嘉27 分钟前
在职前端 Agent 配置分享
前端·后端·agent
Ares-Wang34 分钟前
Flask》》 Flask-OpenID 认证、 OpenID Connect (OIDC)
后端·python·flask
掘金码甲哥35 分钟前
这篇优雅安装k8s集群的姿势,请务必投喂给AI智能体, 包装包活的那种!
后端
万法若空38 分钟前
C++ <memory> 库全方位详解
开发语言·c++
代码中介商42 分钟前
C++ 类型转换深度解析:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
青小莫1 小时前
C++之string(OJ练习)
开发语言·c++·stl
freshman_y1 小时前
一篇介绍C语言中二级指针和二维数组的文章
c语言·开发语言