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);    }}

 

上一篇:idea springboot热部署无效问题
下一篇:Spring根据包名获取包路径下的所有类

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月25日 17时38分08秒