optional
前言:
optional 读音/ˈɑːpʃən(ə)l/
解决问题:
日常开发中的最常见的就是空指针异常。使用optional最大程度减少空指针异常
所在包:java.util.Optional
描述:是一个容器类,它可以保存类型T的值,代表这个值存在,或者仅仅保存null,表示这个值不存在
使用:
1. 创建optional对象的方式
Optional.of(T value) 创建一个Optional对象,value必须有具体值
Optional.empty() 创建一个空的Optional对象
Optional.ofNullable(T value) value可以为具体值,也可以为null值
2.常用方法
T get():如果 Optional中有一个值,返回值,否则抛出 NoSuchElementException boolean isPresent():判断对象中是否有值,有返回true,没有返回false void ifPresent(Consumer<? super T> consumer >):如果有值,就执行Consumer接口的实现代码,并且该值会作为参数传给它 T orElse(T other):如果有值则将其返回,否则返回指定的other对象 T orElseGet(Supplier<? extends T>other):如果有值则将其返回,否则返回由Supplier 接口实现提供的对象。 T orElseThrow(Supplier<? extends X> exceptionSupplier):如果有值则将其返回,否则抛出由Supplier接口实现提供的异常
3.使用Demo
/*-------创建对象的形式------*/ String s = "xiaoGao" ; //1. of:只能传入一个具体值,不能传入null,否者出现(空指针异常)java.lang.NullPointerException Optional<String> s1 = Optional.of(s); //2. ofNullable:可以传入具体值,也可以传入null值 Optional<String> s2 = Optional.ofNullable(null); //3. 创建一个空的Optional对象 Optional<Object> s3 = Optional.empty();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探