java8 Optional正确使用姿势
Java 8 如何正确使用 Optional
import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.apache.commons.lang3.StringUtils;import java.util.Optional;@Data @EqualsAndHashCode(exclude={"self"}) @ToString(callSuper=true, exclude="self") public class PersonDto {private Integer id;private String name;private String password;private Double self;public boolean validateName1() {return StringUtils.equals("hjz", name);}public static boolean validateName2(String name) {return StringUtils.equals("hjz", name);}public static void main(String[] args) {PersonDto personDto = new PersonDto();personDto.setName("hjz"); // String name = Optional.ofNullable(personDto) // .map(obj -> obj.getName()) // .filter(StringUtils::isNotEmpty) // .orElseThrow(()->new IllegalArgumentException("The value of param personDto isn't available."));// String name = Optional.ofNullable(personDto) // .map(obj -> obj.getName()) // .filter(PersonDto::validateName2) // .orElseThrow(()->new IllegalArgumentException("The value of param personDto isn't available.")); String name = Optional.ofNullable(personDto).filter(PersonDto::validateName1).map(obj -> obj.getName()).orElseThrow(()->new IllegalArgumentException("The value of param personDto isn't available."));System.out.println(name);} }
转载于:https://www.cnblogs.com/hujunzheng/p/7299572.html
java8 Optional正确使用姿势相关推荐
- java8 optional使用_[Java8]如何正确使用Optional
Optional是Java8提供的为了解决null安全问题的一个API.善用Optional可以使我们代码中很多繁琐.丑陋的设计变得十分优雅.这篇文章是建立在你对Optional的用法有一定了解的基础 ...
- 论机器学习的正确学习姿势
论机器学习的正确学习姿势 策划 | 刘燕作者 | Caleb Kaiser翻译 | Sambodhi编辑 | Linda很多开发人员并没有机器学习领域的背景,在机器学习如火如荼的今天,没学过机器学习的 ...
- 什么叫取反_转载:CodeReview正确的姿势是什么?
作者:微博是阿里孤尽 链接:https://www.zhihu.com/question/383079175/answer/1109655276 来源:知乎 著作权归作者所有.商业转载请联系作者获得授 ...
- class ts 扩展方法_ts类型声明文件的正确使用姿势
ts类型声明文件的正确使用姿势 ts声明文件类型 npm install @types/jquery --save-dev 与npm一同发布 解释: package.json 中有 types 字段, ...
- java同步锁如何使用_java 同步锁(synchronized)的正确使用姿势
关于线程安全,线程锁我们经常会用到,但你的使用姿势正确不,反正我用错了好长一段时间而不自知.所以有了这篇博客总结下线程锁的正确打开姿势 废话不说看例子 一,对整个方法进行加锁 1,对整个方法进行加锁, ...
- 直播预告|中台基石腾讯云TStack的正确使用姿势
各位亲爱的小伙伴们,你们好啊~~ 他二哥技术直播又和大家见面了! 还记得在第一期的节目中,Sandy小姐姐和两位技术哥哥带我们见识了腾讯自研交换机的强大实力. (赶紧戳链接复习☝) 这次直播,他二哥邀 ...
- MongoDB系列:五、MongoDB Driver使用正确的姿势连接复制集
MongoDB复制集(Replica Set)通过存储多份数据副本来保证数据的高可靠,通过自动的主备切换机制来保证服务的高可用.但需要注意的时,连接副本集的姿势如果不对,服务高可用将不复存在. 使用复 ...
- java 日志使用_Java日志正确使用姿势
前言 关于日志,在大家的印象中都是比较简单的,只须引入了相关依赖包,剩下的事情就是在项目中"尽情"的打印我们需要的信息了.但是往往越简单的东西越容易让我们忽视,从而导致一些不该有的 ...
- Python re 库的正确使用姿势
前提假设: 已经充分掌握 PCRE 风格正则表达式 熟读 re 库文档 Why 正则表达式的强大已不用我赘述,Python 对此的支持也是十分强大,只不过: re.search(pattern, st ...
最新文章
- 华为存储iscsi配置_网络+存储+虚拟化:三大要素构建新网络
- 【转】C++中this指针的用法详解
- 阿里云 apt-get update 403
- 梯度下降法进行线性回归---------二维及多维
- Windows API入门系列之五 -一个正儿八经的SDK程序
- python socket tcp远控_Python3实现ICMP远控后门(中)之“嗅探”黑科技
- NLP基础|中英文词向量评测理论与实践
- winform自定义消息提示框定时自动关闭
- Python绘图 \ 数据可视化
- FLURRY 文档摘要及备注
- 图片img或者含有img元素拖拽时的阴影效应问题
- USB OTG功能是什么意思?
- 绝对不变性原理、内模原理
- 5.25 FLASH
- 主键和唯一索引的区别
- UWB测距 方法,双向双边测距法(DS-TWR)(四)
- python基础函数应用
- [JAVA]如何使用百度 API STORE —— 以翻译接口为例
- EagleClouds专业网站建设和软件开发服务
- 蓝牙及其安全技术概述