java-Optional,stream

 Optional

Optional<Object> emptyOpt = Optional.empty();

emptyOpt 变量的值会导致 NoSuchElementException使用  of() 和 ofNullable() 方法创建包含值的 Optional。两个方法的不同之处在于如果你把 null 值作为参数传递进去,of() 方法会抛出 NullPointerException;

所以:对象不为 null  的时候使用 of()如果对象即可能是 null 也可能是非 null,你就应该使用 ofNullable() 方法:

Optional<People> opt = Optional.of(people);
Optional<People> opt = Optional.ofNullable(people);

访问 Optional 对象值: get() :在值为 null 的时候抛出异常。

    String name = "name";
    Optional<String> opt = Optional.ofNullable(name);
    system.out.printIn(opt.get());

转换值

map(): 对值应用(调用)作为参数的函数,然后将返回的值包装在 Optional 中。

People people= new People ("djt@email.com");
String email = Optional.ofNullable(user)
   .map(u -> u.getEmail()).orElse("default@email.com");

 

posted @ 2021-08-20 10:04  c++c鸟  阅读(39)  评论(0编辑  收藏  举报