前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Optional.ofNullable()方法

Optional.ofNullable()方法

作者头像
赵哥窟
发布于 2022-08-11 06:41:49
发布于 2022-08-11 06:41:49
98900
代码可运行
举报
文章被收录于专栏:日常技术分享日常技术分享
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void main(String[] args) {
        List<String> list = null;
        list.forEach(x -> System.out.println(x));
    }

工作中经常会遇到,查询返回空,如果没有判空处理,一不小心就会空指针异常。加上if判断处理也可以,但是jdk1.8有更优雅的处理方式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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));
    }

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《Java-SE-第三十四章》之Optional
我们平时写代码的时候遇到最多的异常就是空指针,所以很多时候就需要做各种非空判断,而过多的判断会导致代码臃肿,所以JDK8中引用了Optional,它是java.util包下的一个用于代替null 的一个工具类,使该类可以有效的避免空指针异常。
用户10517932
2023/10/07
1990
《Java-SE-第三十四章》之Optional
JDK8Optional
Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。 Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。 Optional 类的引入很好的解决空指针异常。
高大北
2022/06/14
2670
Java空指针异常处理:判空、Optional与Assert解析
在Java编程中,空指针异常(NullPointerException)是最常见的运行时错误之一。本文将深入探讨三种处理空指针异常的方法:传统的判空检查、Java 8引入的Optional类以及使用断言(Assert)。通过代码示例和应用场景分析,帮助开发者理解并选择最适合的方案以提升程序健壮性。
Yeats_Liao
2024/12/27
3740
Java空指针异常处理:判空、Optional与Assert解析
Java 的 Optional.ofNullable()方法,防止空指针异常
从数据库查询多个数据,返回list ,我们需要在代码里面判空, 之前是if 进行判断; 查询返回空,如果没有判空处理,一不小心就会空指针异常。加上if判断处理也可以,但是jdk1.8有更优雅的处理方式。
一写代码就开心
2023/01/13
1.1K0
Java8编程小技巧,提高代码效率100%!超级实用!
大家好,我是小义,今天分享几个Java8编程小技巧,提高代码逼格,写出优雅代码,让同事看了也直呼内行。
程序员小义
2024/05/20
1890
Java8编程小技巧,提高代码效率100%!超级实用!
还在用又臭又长的多层 if 判断空值?那我推荐你使用 Optional
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2024/02/06
1.9K0
Guava学习笔记(1) --- Optional类的基本使用
/** * Optional测试类 */ public class OptionalTest { @Test public void test() { //创建空的Optional对象 Optional.empty(); //使用非null值创建Optional对象,不能传入null,负责会报错 //Optional.of(null); Optional.of("123"); //使用任意值创建Optional对象 Optional<Objec
挽风
2021/04/13
3640
聊一聊Java8 Optional,让你的代码更加优雅
Java8提供了Optional接口,Optional接口能够让我们的代码变得更加的优雅,可读性更高,同时能够很好的避免空指针,因为空指针是一个很让人头疼的问题,特别对于调用第三方接口,如果不知道对象的规约的时候,我们在取值的时候无法知道哪些些值能为空,哪些不能为空,所以容易出现空指针,如果我们谨慎一点,可能会对每一个值进行判空处理,但是将会充斥着大量的if语句,甚是不雅观。
小四的技术之旅
2022/07/26
4060
【小家java】java8新特性之---Optional的使用,避免空指针,代替三目运算符
空指针异常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到Google Guava的启发,Optional类已经成为Java 8类库的一部分。Optional实际上是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,使得我们就不用显式进行空值检测
YourBatman
2019/09/03
2.6K0
给女朋友讲解什么是Optional【JDK 8特性】
前两天带女朋友去图书馆了,随手就给她来了一本《与孩子一起学编程》的书,于是今天就给女朋友讲解一下什么是Optional类。
Java3y
2018/12/18
3530
给女朋友讲解什么是Optional【JDK 8特性】
Java8新特性:Optional类的正确使用姿势
空指针异常是我们在实际开发中经常会遇到的问题,为了防止程序因为异常而中断,通常要在代码中添加大量的非空验证,例如一个释放 JDBC 相关资源的代码,如下所示。
南风
2019/08/01
9730
Java8新特性:Optional类的正确使用姿势
【愚公系列】2022年01月 Java教学课程 46-获取对象操作类Optional
文章目录 一、Optional 1.获取对象 2.常用方法 3.处理空指针的方法 一、Optional 1.获取对象 Optional概述 可能包含或不包含非null值的容器对象 方法介绍 image.png 示例代码 public class OptionalDemo1 { public static void main(String[] args) { //method1(); //public static <T> Optional<T> ofNullabl
愚公搬代码
2022/01/15
2270
【愚公系列】2022年01月 Java教学课程 46-获取对象操作类Optional
Java 8 新特性 Optional 类学习/应用,NullPointerException空值检测
JDK1.8开始引入的特性,Optional 类主要解决空指针异常(NullPointerException)问题。
鳄鱼儿
2024/05/22
1820
Java 8 新特性 Optional 类学习/应用,NullPointerException空值检测
还在用 if(obj!=null) 做非空判断?带你快速上手 Optional 实战性理解!
相信不少小伙伴已经被java的NPE(Null Pointer Exception)所谓的空指针异常搞的头昏脑涨,有大佬说过“防止 NPE,是程序员的基本修养。”但是修养归修养,也是我们程序员最头疼的问题之一,那么我们今天就要尽可能的利用Java8的新特性 Optional来尽量简化代码同时高效处理NPE(Null Pointer Exception 空指针异常)
JAVA葵花宝典
2020/06/04
8.4K0
java8 新特性 -Optional的常见用法
用户7630333
2023/12/07
5680
JAVA8实战 - Optional工具类
没错,这又是一个新的专栏,JAVA8可以说是JAVA划时代的一个版本,几乎是让JAVA焕发了第三春(第二春在JDK5),当然里面的新特性也是十分重要的,虽然Java现在都已经到了10几的版本,但是国内多数使用的版本还是JAVA8,所以这个系列将会围绕Java8的新特性和相关工具做一些总结。希望对大家日常学习和工作中有所帮助。
阿东
2021/08/16
1.8K0
Java基础篇(05):函数式编程概念和应用
函数式编程是一种结构化编程的范式,主要思想是把运算过程尽量写成系列嵌套的函数调用。函数编程的概念表述带有很抽象的感觉,可以基于案例看:
知了一笑
2021/03/10
4350
Java基础篇(05):函数式编程概念和应用
JDK15就要来了,你却还不知道JDK8的新特性!
现在 Oracle 官方每隔半年就会出一个 JDK 新版本。按时间来算的话,这个月就要出 JDK15 了。然而,大部分公司还是在使用 JDK7 和 8 。
烟雨星空
2020/09/08
9120
null 不好,我真的推荐你使用 Optional
Doug Lea 是一位美国的计算机科学家,他是 Java 平台的并发和集合框架的主要设计者之一。他在 2014 年的一篇文章中说过:“Null sucks.”1,意思是 null 很糟糕。他认为 null 是一种不明确的表示,它既可以表示一个值不存在,也可以表示一个值未知,也可以表示一个值无效。这样就会导致很多逻辑错误和空指针异常,给程序员带来很多麻烦。他建议使用 Optional 类来封装可能为空的值,从而提高代码的可读性和健壮性。
wayn
2023/11/18
2860
null 不好,我真的推荐你使用 Optional
探究Java8的Optional 类
“ 在前面我们已经谈论过Java8的Lambda表达式,方法引用,Stream。除了这些之外Java8中还有一个很重要的知识:Optional ”
每天学Java
2020/06/01
9900
探究Java8的Optional 类
推荐阅读
相关推荐
《Java-SE-第三十四章》之Optional
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验