zoukankan      html  css  js  c++  java
  • java8-Optional

    Optional 容器类:用于尽量避免空指针异常

     * Optional.of(T t) : 创建一个 Optional 实例

     * Optional.empty() : 创建一个空的 Optional 实例

     * Optional.ofNullable(T t):若 t 不为 null,创建 Optional 实例,否则创建空实例

     * isPresent() : 判断是否包含值

     * orElse(T t) :  如果调用对象包含值,返回该值,否则返回t

     * orElseGet(Supplier s) :如果调用对象包含值,返回该值,否则返回 s 获取的值

     * map(Function f): 如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()

     * flatMap(Function mapper):与 map 类似,要求返回值必须是Optional

    Optional.of(T t) : 创建一个 Optional 实例

    Optional<Employee> op = Optional.of(new Employee());
    Employee emp = op.get();

    Optional.empty() : 创建一个空的 Optional 实例

    Optional<Employee> op = Optional.empty();

    Optional.ofNullable(T t):若 t 不为 null,创建 Optional 实例,否则创建空实例

    Optional<Employee> op = Optional.ofNullable(null);

    isPresent() : 判断是否包含值

        Optional<Employee> op = Optional.ofNullable(new Employee());
            
            if(op.isPresent()){
                System.out.println(op.get());
            }

    orElse(T t) :  如果调用对象包含值,返回该值,否则返回t

    Employee emp = op.orElse(new Employee("张三"));
            System.out.println(emp);

    orElseGet(Supplier s) :如果调用对象包含值,返回该值,否则返回 s 获取的值

    Employee emp2 = op.orElseGet(() -> new Employee());
            System.out.println(emp2);

    map(Function f): 如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()

            Optional<Employee> op = Optional.of(new Employee(101, "张三", 18, 9999.99));
            
            Optional<String> op2 = op.map(Employee::getName);
            System.out.println(op2.get());

     flatMap(Function mapper):与 map 类似,要求返回值必须是Optional

            Optional<String> op3 = op.flatMap((e) -> Optional.of(e.getName()));
            System.out.println(op3.get());
  • 相关阅读:
    【OpenCV学习笔记5】读取图像中任意点的像素值
    【收藏】国企央企
    Visual Studio 进化史
    【图像算法】不变矩
    工控博客精华链接
    投了...
    【图像算法】常见的数字图像处理程序大全
    Google C++编码规范
    Google员工自述:在哈佛教书和在Google工作的差别
    国立华侨大学校长写给2010届毕业生的话:人生的二和三
  • 原文地址:https://www.cnblogs.com/chenglc/p/8124230.html
Copyright © 2011-2022 走看看