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());
  • 相关阅读:
    Confluence 6 配置服务器基础地址示例
    (七)git分支的操作
    (六)最最基本的git操作
    (四)创建表、查看表、插入记录
    (三)数据库基本操作(创建、查询、修改、删除数据库)
    c++第九天
    (五)使用GitHub的前期准备
    (四)github之Git的初始设置
    (三)github之GIT的导入
    (二)github的价值意义篇
  • 原文地址:https://www.cnblogs.com/chenglc/p/8124230.html
Copyright © 2011-2022 走看看