博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java8 Optional正确使用姿势
阅读量:6603 次
发布时间:2019-06-24

本文共 1609 字,大约阅读时间需要 5 分钟。

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);    }}
本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/7299572.html,如需转载请自行联系原作者
你可能感兴趣的文章
Java生成验证码
查看>>
git 常用命令 -- 菜鸟的笔记
查看>>
sturts漏洞
查看>>
java静态方法中读取类路径
查看>>
UNIX网络编程(第三版 ) 测试代码 7.2
查看>>
【原创】数组完整篇 / 基本操作/ 进阶 / 遍历 / 实例 / 拓展 / 取 / 赋
查看>>
linux 挂载samba盘
查看>>
pitfall fields
查看>>
Hadoop实战读书笔记(3)
查看>>
策略模式
查看>>
2012-2013 微软商业智能大调研分析报告
查看>>
iOS7设计规范分享:UI设计基础
查看>>
徐元杰:“淘”里“淘”外,简单营销
查看>>
国内外SNS比较分析
查看>>
iOS Image Filters
查看>>
Dsoframer实现文档在线浏览功能
查看>>
【图解AI】什么是语义分割、实例分割、全景分割
查看>>
调整PHPStorm中文件修改后标签和文件名的颜色与背景色
查看>>
devise登陆页不使用application模版
查看>>
微信小程序,用户私密信息解密
查看>>