zoukankan      html  css  js  c++  java
  • Java8简明学习之Optional

      Java在8的版本,新增了Optional和lambda表达式,使得日常开发中对于NullPointException的判断变的优雅。

    现在来个例子看看在Optional之前对空的判断。

    @Test
    public void testOpt() {
            User u = new User();
            u.setName("hy");
            if (u != null && u.getName() != null) {
                System.out.println(u.getName());
            }
            
       }
    public class User {
        private String name;
        
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
    }

    如果层级更深的话,那就更难看一些...

    看看通过Optional改造后的版本

    @Test(expected = MyException.class)
        public void testOpt() {
            User s = new User();
            s = null;
            // s.setName(null);
            Optional<User> opt = Optional.ofNullable(s);
            String name = opt.map(user -> user.getName()).orElseThrow(()-> new MyException("异常"));
            //Assert.assertEquals("hy", name);
            System.out.println(name);
        }
    public class MyException extends RuntimeException {
        MyException() {
    
        }
    
        MyException(String mgs) {
            super(mgs);
        }
    }

    没有了恼人的if判空,变的优雅很多,其实lambda表达式使之前很多很繁琐的表达变的优雅,以后也会把更多的优雅用法贴到这里备忘。

  • 相关阅读:
    2020软件工程第四次作业04
    2020软件工程作业02
    2020软件工程作业01
    2020软件工程个人作业06——软件工程实践总结作业
    2020软件工程作业05
    2020软件工程作业00—问题清单
    2020软件工程作业03
    2020软件工程作业02
    2020软件工程作业01
    小小小-冲刺集合
  • 原文地址:https://www.cnblogs.com/daily-note/p/9354641.html
Copyright © 2011-2022 走看看