zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    字典树+二叉树
    ##22
    简单代码优雅写
    全排列
    【持续更新】哟!又在写BUG啊!
    大整数加法和大整数乘法
    【框架编程思想】线数筛的高级应用(欧拉12题和欧拉21题)
    【持续更新】 用算法流程实现的代码块们
    记忆化
    资源收集
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/7299572.html
Copyright © 2011-2022 走看看