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

相关推荐
IDRSolutions_CN13 分钟前
开发PDF时,如何比较 PDF 文件
java·经验分享·pdf·软件工程·团队开发
程序员JerrySUN23 分钟前
驱动开发硬核特训 · Day 1
java·linux·运维·开发语言·c++·驱动开发
郑州吴彦祖77232 分钟前
UTF-8和GBK编码的区别和详细解释
java·utf-8
盖世英雄酱5813643 分钟前
为什么类型转换,为导致索引失效
java·后端
步行cgn1 小时前
Java 集合有序性与重复性总结及记忆技巧
java·开发语言·程序人生·面试·个人开发·学习方法
顾林海1 小时前
深度解析HashSet工作原理
android·java·面试
爱的叹息1 小时前
Spring MVC 逻辑视图(JSP、Thymeleaf、FreeMarker)与非逻辑视图(JSON、Excel、PDF、XML)详解及示例
java·spring·mvc
程序员鱼皮1 小时前
2025 全新阿里巴巴 Java 面经汇总(附答案模板),建议收藏!
java·后端·面试
木昜先生1 小时前
知识点:Java 中的 Lambda 表达式
java·后端
Plus-ultra1 小时前
Java面试43-常见的限流算法有哪些?
java·开发语言·面试