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集合永远不为空,也就避免了空指针异常。

相关推荐
phltxy22 分钟前
C语言操作符详解
java·c语言·算法
步行cgn1 小时前
@Configuration 详解:Spring 配置类的核心注解
java·后端·spring
sunshine22 girl2 小时前
Java学习一 环境配置2 安装和基本使用Idea
java·学习·intellij-idea
嘿嘿-663 小时前
Windows 一键使用 GPT-6 Astra:Codex CLI 配置教程
java·人工智能·windows·gpt·chatgpt·web
策案案案4 小时前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
辰烨chenye5 小时前
LeetCode Hot 100 题解 · 堆篇
java·算法·leetcode
shehuiyuelaiyuehao6 小时前
算法29,前缀和,除自身以外的数组的乘积
java·数据结构·算法
小刘在重生~6 小时前
Java常用类|String类详解 + BigDecimal精准计算(含面试题)
java·开发语言·python
随遇而安zx6 小时前
【多线程】---JMM 与 volatile 深度解析
java·多线程