
java8 Optional正确使用姿势
发布日期:2021-05-09 03:26:42
浏览次数:21
分类:原创文章
本文共 1527 字,大约阅读时间需要 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); }}
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月25日 17时38分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux Shell语言并发执行多条命令
2023-02-01
Linux signal
2023-02-01
Linux SNMP支持IPv6配置实战
2023-02-01
Linux Socket学习--域和套接口简介
2023-02-01
linux sort 用法
2023-02-01
Linux stat命令和AIX istat命令 (查看文件修改时间)
2023-02-01
Linux sudo命令详解
2023-02-01
Linux tail 命令详解
2023-02-01
linux tar 备份命令
2023-02-01
Linux tcpdump -any抓的包转换成标准的pcap
2023-02-01
Linux Terminator
2023-02-01
linux tex文件编译,用latexmk编译XeLaTeX tex文件
2023-02-01
Linux top
2023-02-01
Linux top 命令详解
2023-02-01
Linux tr命令学习笔记与应用举例
2023-02-01
Linux Ubuntu 装LAMP心得
2023-02-01
linux Ubuntu安装ftp并将本地文件上传到云服务器
2023-02-01
linux udev 自动挂载 SD卡/U盘
2023-02-01
Linux UDP C/S例子
2023-02-01