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);
        }
    }
  • 相关阅读:
    rsyslog imfile 模块说明
    正确的健身是啥意思——北漂18年(79)
    CC++ 内存对齐
    异步请求和超时控制
    dubbo入门(1)
    Query Cache Configuration
    perl 批量生成分区表
    perl 通过生成mysql 批量sql
    next 跳过当前循环
    last 退出当前循环
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/7299572.html
Copyright © 2011-2022 走看看