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);
        }
    }
  • 相关阅读:
    虚拟机中安装CentOS7
    tensorflowwindows安装
    CentOS7离线安装Ambari与HDP
    (二)apache atlas配置和运行
    kafka资料收集
    kafka源代码环境配置
    文件传输遇到的坑
    故障保护设置
    多轴APM调参
    程序员考试操作步骤
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/7299572.html
Copyright © 2011-2022 走看看