介绍常用的Optional方法
Optional.ofNullable
允许传递为 null 参数
Optional.of
如果传递的参数是 null,抛出异常 NullPointerException
Optional<String> optional = Optional.of("xiaomu");
Optional.isPresent
判断值是否存在,如果值存在返回true,否则返回false
optional.isPresent();
Optional.orElse
如果有值则将其返回,否则返回指定的其它值
optional.orElse("小沐");
Optional.get
获取值,如果Optional有值则将其返回,否则抛出NoSuchElementException
optional.get();
使用案例
【错误用法】
User user = getUser(); // 获取对象
// 将name转成大写,如果为空则返回NULL
String optional = Optional.ofNullable(user).map(f -> f.getName()).map(f -> f.toUpperCase()).orElse("NULL");
System.out.println(optional);
// 三目运算更加简洁明了
String name = Objects.nonNull(user) ? user.getName().toUpperCase() : "NULL";
【使用参考】
// 输出user的name值
Optional.ofNullable(user).ifPresent(f -> System.out.println(f.getName()));