您好,登录后才能下订单哦!
Java 8 的 Optional 类是一个可以为 null 的容器对象
Optional<String> optional = Optional.ofNullable(getValueThatMayBeNull());
这里,getValueThatMayBeNull()
是一个可能返回 null 的方法。我们使用 Optional.ofNullable()
方法创建一个 Optional 对象,如果值为 null,则创建一个空的 Optional 对象。
if (optional.isPresent()) {
System.out.println("Value is present: " + optional.get());
} else {
System.out.println("Value is not present");
}
使用 isPresent()
方法检查 Optional 对象中是否存在值。如果存在,则使用 get()
方法获取值。注意,get()
方法在值为 null 时会抛出 NoSuchElementException。
String value = optional.orElse("default value");
System.out.println("Value: " + value);
使用 orElse()
方法获取 Optional 对象中的值,如果值为 null,则返回指定的默认值。
String value = optional.orElse("default value").orElse("another default value");
System.out.println("Value: " + value);
orElse()
方法返回第一个非空值。在这个例子中,如果 optional
为空,则返回 “default value”,否则返回 optional
中的值。如果 optional
中的值也为空,则返回 “another default value”。
List<String> list = Arrays.asList("a", null, "c");
List<String> filteredList = list.stream()
.filter(Objects::nonNull)
.map(Optional::ofNullable)
.filter(Optional::isPresent)
.map(Optional::get)
.collect(Collectors.toList());
System.out.println(filteredList); // Output: [a, c]
在这个例子中,我们首先过滤掉 null 值,然后使用 Optional::ofNullable
将每个非空值包装在 Optional 对象中。接下来,我们使用 filter()
和 isPresent()
方法检查 Optional 对象中是否存在值,最后使用 map()
和 get()
方法获取值。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。