Optional类如何解决空指针异常(2)
导读:Optional类如何解决空指针异常,7. 过滤和映射操作 Optional类还提供了filter(Predicate)和map(Function)方法,用于对Optional对象中保存的值进行过滤和映射 OptionalInteger> optional1 = Optional.ofNullable(1
Optional类如何解决空指针异常
7. 过滤和映射操作
Optional类还提供了filter(Predicate)和map(Function)方法,用于对Optional对象中保存的值进行过滤和映射
Optional<Integer> optional1 = Optional.ofNullable(1);
Optional<Integer> optional2 = Optional.ofNullable(null);
Optional<Integer> filter1 = optional1.filter(a -> a == null);
Optional<Integer> filter2 = optional1.filter(a -> a == 1);
Optional<Integer> filter3 = optional2.filter(a -> a == null);
System.out.println(filter1.isPresent()); // false
System.out.println(filter2.isPresent()); // true
System.out.println(filter2.get().intValue() == 1); // true
System.out.println(filter3.isPresent()); // false
Optional<String> str1Optional = optional1.map(a -> "key" + a);
Optional<String> str2Optional = optional2.map(a -> "key" + a);
System.out.println(str1Optional.get()); // key1
System.out.println(str2Optional.isPresent()); // false
8. flatMap操作
flatMap()方法与map()相似,不同之处在于flatMap()的mapping函数返回值必须是Optional类型
Optional<Integer> optional1 = Optional.ofNullable(1);
Optional<Optional<String>> str1Optional = optional1.map(a -> Optional.of("key" + a));
Optional<String> str2Optional = optional1.flatMap(a -> Optional.of("key" + a));
System.out.println(str1Optional.get().get()); // key1
System.out.println(str2Optional.get()); // key1
9. Optional类的方法总结

以上就是IT袋网带来的Optional类如何解决空指针异常的经验小知识,希望看完本文能给您带来一点帮助!
相关阅读
-
Oracle imp命令详解:从基础到进阶
小编为网友们解答Oracle及imp命令详解的相关话题,下面来一起了解一下吧。 在处理Oracle数据库时,一个不可或缺的工具是 imp (导入)命令。 该命令用于将数据从一个Oracle数据库导入到另一个
-
什么是CIDR 无类域间路由
一篇方法教程,与您分享什么是CIDR的介绍,接下来IT袋网小编为大家介绍。 CIDR,全称为Classless Inter-Domain Routing(无类域间路由),是一种用于分配 IP 地址的方法,旨在更有效地利用地址空间
-
多租户SaaS平台的数据库方案详解
正文核心导读:多租户SaaS平台的数据库方案详解的教程内容,下面来一起了解一下吧。 随着云计算和SaaS(Software as a Service)模型的兴起,多租户系统成为了构建灵活、高效应用的重要架构。
-
云防火墙的类型有哪些?
今天为网友们详解云防火墙的类型有哪些的内容,很不错的方法小知识,建议收藏哦! 云防火墙有多种类型,包括: 公有云防火墙 公共云防火墙是部署在公共云平台中的虚拟网络安全设备。


