您好,登录后才能下订单哦!
Optional
类是 Java 8 引入的一个容器对象,用于表示一个值存在或不存在。它的主要方法包括:
Optional.empty()
Optional
实例。Optional.of(T value)
Optional
实例。null
,会抛出 NullPointerException
。Optional.ofNullable(T value)
Optional
实例,如果传入的值为 null
,则返回一个空的 Optional
。boolean isPresent()
true
,否则返回 false
。T orElse(T other)
T orElseGet(Supplier<? extends T> other)
orElse
,但是默认值的计算是惰性的,只有在需要时才会调用 Supplier
。T orElseThrow(Supplier<? extends X> exceptionSupplier)
Supplier
提供的异常。T get()
Optional
中的值。isPresent()
返回 false
),会抛出 NoSuchElementException
。Optional<T> filter(Predicate<? super T> predicate)
Optional
;否则返回一个空的 Optional
。Optional<U> map(Function<? super T, ? extends U> mapper)
Optional
;否则返回一个空的 Optional
。Optional<U> flatMap(Function<? super T, Optional<U>> mapper)
map
,但是 mapper
返回的是一个 Optional
对象。如果原始 Optional
包含值,则会扁平化嵌套的 Optional
。void ifPresent(Consumer<? super T> consumer)
void ifPresentOrElse(Consumer<? super T> action, Runnable emptyAction)
action
;如果值不存在,则执行 emptyAction
。Stream<T> stream()
Optional
中的值(如果存在)。Spliterator<T> spliterator()
Spliterator
,用于并行处理 Optional
中的值。boolean equals(Object obj)
Optional
对象是否相等。int hashCode()
Optional
对象的哈希码。这些方法使得 Optional
类在处理可能为空的值时更加安全和方便,避免了空指针异常,并提供了丰富的操作接口。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。