• 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());
  • 相关阅读:
    JS 实现数据分割1,123,456
    JS屏蔽键盘相关事件
    地图坐标转屏幕坐标
    对xml格式的字符串的一些操作
    ListView_Adpter
    单元测试(Android)_JUnit
    调用系统拍照
    获取手机SD卡的剩余容量(MB)
    数据库的基本操作
    临时修改模拟器手机运行内存和手机内存(不是SD卡内存)
  • 原文地址:https://www.cnblogs.com/chenglc/p/8124230.html
Copyright © 2020-2023  润新知