当前位置: 首页 > news >正文

Java 21 优雅和安全地处理 null

在 Java 21 中,判断 null 依然是开发中常见的需求。通过使用现代 Java 提供的工具和特性,可以更加优雅和安全地处理 null。

1. 使用 Objects.requireNonNull

Objects.requireNonNull 是标准的工具方法,用于快速判断并抛出异常。

示例

import java.util.Objects;public class NullCheckExample {public static void main(String[] args) {String input = null;// 判空并抛出异常Objects.requireNonNull(input, "Input cannot be null");}
}

说明
Objects.requireNonNull 如果参数为 null 会抛出 NullPointerException,并附带自定义错误消息。
用于参数校验时非常简洁。

2. 结合 Optional

Optional 是 Java 中推荐的方式,用于替代传统的 null 判断,特别适合返回值或可选值场景。

示例

import java.util.Optional;public class OptionalExample {public static void main(String[] args) {String input = null;// 使用 Optional 包装值Optional<String> optionalInput = Optional.ofNullable(input);// 判断是否存在值optionalInput.ifPresentOrElse(value -> System.out.println("Value: " <
http://www.lryc.cn/news/516259.html

相关文章:

  • AWS Glue基础知识
  • Kubernetes——part4-1 Kubernetes集群 服务暴露 Nginx Ingress Controller
  • Flutter入门,Flutter基础知识总结。
  • weight decay 和L2是一个东西吗
  • JavaScript系列(8)-- Array高级操作
  • Harmony开发【笔记1】报错解决(字段名写错了。。)
  • MAC环境安装(卸载)软件
  • 【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习(L14+L15+L16)
  • Multisim更新:振幅调制器+解调器(含仿真程序+文档+原理图+PCB)
  • CentOS — 群组管理
  • 【pytorch】注意力机制-1
  • html 元素中的data-v-xxxxxx 是什么?为什么有的元素有?有的没有?
  • 第27周:文献阅读及机器学习
  • 回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测
  • Swift Protocols(协议)、Extensions(扩展)、Error Handling(错误处理)、Generics(泛型)
  • .NET中的强名称和签名机制
  • 使用 NestJS 构建高效且模块化的 Node.js 应用程序,从安装到第一个 API 端点:一步一步指南
  • 2025年大模型技术发展趋势展望:高速旋转的飞轮
  • java中类的加载过程及各个阶段与运行时数据区中堆和方法区存储内容
  • 渗透测试--Web基础漏洞利用技巧
  • SpringBoot下载文件的几种方式
  • 教程:从pycharm基于anaconda构建机器学习环境并运行第一个 Python 文件
  • 我用Ai学Android Jetpack Compose之Button
  • 修改secure-file-priv参数-mysql5.7.26限制不允许导入或导出的解决方法
  • C# 设计模式(结构型模式):适配器模式
  • Spring Cloud微服务多模块架构:父子工程搭建实践
  • SkinnedMeshRenderer相关知识
  • 前端学习DAY30(水平)
  • Spring boot 项目 Spring 注入 代理 并支持 代理对象使用 @Autowired 去调用其他服务
  • Colyseus 与 HTTP API 的集成