您好,登录后才能下订单哦!
Java Optional类是一个用于表示可能为null的值的容器对象。它的主要方法包括:
Optional.empty()
Optional.of(T value)
Optional.ofNullable(T value)
boolean isPresent()
T orElse(T other)
T orElseGet(Supplier<? extends T> supplier)
T orElseThrow(Supplier<? extends X> exceptionSupplier)
T get()
Optional<T> filter(Predicate<? super T> predicate)
<U> Optional<U> map(Function<? super T, ? extends U> mapper)
Optional<T> flatMap(Function<? super T, Optional<U>> mapper)
void ifPresent(Consumer<? super T> consumer)
void ifPresentOrElse(Consumer<? super T> consumer, Runnable emptyAction)
T orElseThrow()
orElseThrow(() -> new NoSuchElementException())
,如果值存在,返回该值;否则抛出NoSuchElementException。Optional<String> optionalString = Optional.ofNullable("Hello");
// 检查是否存在
if (optionalString.isPresent()) {
System.out.println(optionalString.get());
}
// 提供默认值
String result = optionalString.orElse("Default");
System.out.println(result);
// 使用filter
Optional<String> filtered = optionalString.filter(s -> s.length() > 5);
filtered.ifPresent(System.out::println);
// 使用map
Optional<Integer> length = optionalString.map(String::length);
length.ifPresent(System.out::println);
// 使用flatMap
Optional<String> flatMapped = Optional.of("World").flatMap(s -> Optional.of(s.toUpperCase()));
flatMapped.ifPresent(System.out::println);
通过这些方法,Optional类提供了一种优雅且安全的方式来处理可能为null的值,减少了NullPointerException的风险。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。