Optional类:避免NullPointerException
发布日期:2025-04-29 07:56:17
浏览次数:14
分类:精选文章
本文共 2161 字,大约阅读时间需要 7 分钟。
Java Optional?????
Java 8???Optional???????????null???????Optional?????????????????????????null????NullPointerException????????Optional??????????
1. Optional?????
Optional?????of()?ofNullable()???????of()?????????null???ofNullable()???????null?????????????
Optional.of("?null?");Optional.ofNullable(null); 2. Optional????????
Optional?????????Present?????Absent????????isPresent()??????true??????false?????????empty()???????????Optional???
Optionaloptional = Optional.ofNullable(null);if (optional.isPresent()) { System.out.println("???");} else { System.out.println("???");}
3. ????????
????????Optional???????????????orElse()????????????
String defaultValue = "???";String result = optional.orElse(defaultValue);
???????????????orElseThrow()????????Supplier???????????
try { String value = optional.orElseThrow(() -> new IllegalArgumentException("???")); System.out.println(value);} catch (IllegalArgumentException e) { System.out.println(e.getMessage());} 4. ??ally??
ifPresent()????????????????Consumer?
optional.ifPresent(System.out::println);
???????????Consumer???????????
5. ??????
???????Optional????map()?flatMap()???????????Optional?????????????
optional.map(String::toUpperCase);optional.flatMap(String::isEmpty);
6. ????
?????????????
public class OptionalExample { public static void main(String[] args) { Optional optional = Optional.ofNullable(null); // ??????? if (optional.isPresent()) { System.out.println("???"); } else { System.out.println("???"); } // ????? String value = optional.orElse("???"); System.out.println(value); // ???? try { String valueOrThrow = optional.orElseThrow(() -> new IllegalArgumentException("???")); System.out.println(valueOrThrow); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); } // ??????? optional.ifPresent(System.out::println); }} ??
Optional?????????????null???????????????orElse?orElseThrow?ifPresent??????????????????????Optional??????????????????
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2026年06月17日 06时27分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php缓存查询函数
2023-03-01
php编写TCP服务端和客户端程序
2023-03-01
php编码规范
2023-03-01
PHP编码规范-PSR1、psr2 /psr3 psr4
2023-03-01
PHP编程效率的20个要点
2023-03-01
PHP网页缓存技术优点及代码
2023-03-01
PHP自动化测试(一)make test 和 phpt
2023-03-01
php自定义函数: 文件大小转换成智能形式
2023-03-01
php英语单词,php常用英语单词,快速学习php编程英语(6)
2023-03-01
PHP获取curl传输进度
2023-03-01
PHP获取IP所在地区(转)
2023-03-01
PHP获取IP的方法对比
2023-03-01
php获取json里面内容
2023-03-01
R2的版本由来
2023-03-01
PHP获取图片宽度高度、大小尺寸、图片类型、用于布局的img属性
2023-03-01
PHP获取当前文件的绝对路径
2023-03-01
PHP获取当前时间、时间戳的各种格式写法汇总
2023-03-01
PHP获取当前页面的完整URL
2023-03-01
php获取数据库中数据生成json,中文乱码问题的解决方案
2023-03-01