Optional.ofNullable()方法

空指针异常

java 复制代码
public static void main(String[] args) {
    List<String> list = null;
    list.forEach(x -> System.out.println(x));
}

优雅判空

java 复制代码
public static void main(String[] args) {
    List<String> list = null;
    List<String> newList = Optional.ofNullable(list).orElse(Lists.newArrayList());
    newList.forEach(x -> System.out.println(x));
}
// Lists.newArrayList()是Google Guava库中的一个方法
xml 复制代码
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>版本号</version>
</dependency>

解释代码含义:如果list集合不为空,将list集合赋值给newList;如果list集合为空创建一个空对象集合赋值给newList,保证list集合永远不为空,也就避免了空指针异常。

相关推荐
华如锦4 分钟前
一.2部署——大模型服务快速部署vLLM GPU 安装教程 (Linux)
java·linux·运维·人工智能·后端·python·vllm
小鸡脚来咯10 分钟前
设计模式,单例和工厂模式
java
Qiuner15 分钟前
Spring Boot 全局异常处理策略设计(三):@ExceptionHandler 与 @ControllerAdvice 生效原理源码解析
java·spring boot·后端
零度@17 分钟前
Java 消息中间件 - RabbitMQ 全解(保姆级 2026)
java·rabbitmq·java-rabbitmq
u01040583617 分钟前
企业微信自建应用权限模型与 RBAC 在 Spring Security 中的映射
java·spring·企业微信
墨雨晨曦8817 分钟前
通过调用deepseek的api来实现智能客服
java
予枫的编程笔记19 分钟前
Elasticsearch核心架构与基础原理:解密其极速性能的底层逻辑
java·大数据·人工智能·elasticsearch·搜索引擎·架构·全文检索
Seven9722 分钟前
数据结构-图
java
Yu_iChan23 分钟前
苍穹外卖Day09 地址簿模块
java·数据库·mybatis