JAVA 8 Option

Nimat ·
更新时间:2024-11-10
· 527 次阅读

JAVA 8 Option1. java.util.Optional1.1 public static Optional empty()1.2 public static Optional of(T value)1.3 public static Optional ofNullable(T value)1.4 public T get()1.5 public boolean isPresent()1.6 public boolean isEmpty()1.7 public void ifPresent(Consumer action)1.8 public void ifPresentOrElse(Consumer action, Runnable emptyAction)1.9 public Optional filter(Predicate predicate)1.10 public Optional map(Function mapper)1.11 public Optional flatMap(Function<? super T, ? extends Optional> mapper)1.12 public Optional or(Supplier<? extends Optional> supplier)1.13 public Stream stream()1.14 public T orElse(T other)1.15 public T orElseGet(Supplier supplier)1.16 public T orElseThrow()1.17 public T orElseThrow(Supplier exceptionSupplier) throws1.18 public boolean equals(Object obj)1.19 public int hashCode()1.20 public String toString() 1. java.util.Optional

Optional对象是一种包装器对象,被当作一种更安全的方式,用来替代类型T的引用,用以解决空指值异常所带来的问题。

1.1 public static Optional empty()

产生一个空Optional。

1.2 public static Optional of(T value)

产生一个具有给定值的Optional,如果value为null,将会抛出NullPointerException。

1.3 public static Optional ofNullable(T value)

产生一个具有给定值的Optional,如果value为null,将会产生一个空Optional。

1.4 public T get()

获取当前Optional的值,如果当前Optional为空,则抛出NoSuchElementException。

1.5 public boolean isPresent()

如果当前Optional不为空,则返回false。

1.6 public boolean isEmpty()

如果当前Optional为空,则返回true。

1.7 public void ifPresent(Consumer action)

如果当前Optional不为空,则执行指定Consumer。

1.8 public void ifPresentOrElse(Consumer action, Runnable emptyAction)

如果当前Optional不为空,则执行指定Consumer,否则执行指定Runable。

1.9 public Optional filter(Predicate predicate)

如果当前Optional为空,返回空Optional,否则执行指定Predicate,若执行结果为true,则返回当前Optional,否则返回空Optional。

1.10 public Optional map(Function mapper)

返回将当前Optional的值传递给指定Function后的结果并将结果包装成Optional,若当前Optional为空或Function执行结果为空,则返回空Optional。

1.11 public Optional flatMap(Function<? super T, ? extends Optional> mapper)

返回将当前Optional的值传递给指定Function后的结果,若当前Optional为空或Function执行结果为空,则返回空Optional,该方法与上述map方法的区别在与map方法会将Function返回的结果自动包装成Optional类型,而flatMap方法的Function返回的结果必须是Optional类型,flatMap的返回结果与Function的结果一样保持不变。

1.12 public Optional or(Supplier<? extends Optional> supplier)

若当前Optional不为空,则返回当前Optional,否则返回Supplier执行后的结果,该结果必须为Optional类型,若Supplier执行后的结果为空,则抛出NullPointerException。

1.13 public Stream stream()

若当前Optional为空,则返回空Stream,否则返回包含当前Optional的值的Stream。

1.14 public T orElse(T other)

若当前Optional不为空,返回当前Optional的值,否则返回指定对象other。

1.15 public T orElseGet(Supplier supplier)

若当前Optional不为空,返回当前Optional的值,否则返回指定Supplier生成的对象。

1.16 public T orElseThrow()

若当前Optional不为空,返回当前Optional的值,否则抛出NoSuchElementException。

1.17 public T orElseThrow(Supplier exceptionSupplier) throws

若当前Optional不为空,返回当前Optional的值,否则抛出指定Supplier生成的异常。

1.18 public boolean equals(Object obj)

略。

1.19 public int hashCode()

略。

1.20 public String toString()

略。


作者:周晓风



JAVA option

需要 登录 后方可回复, 如果你还没有账号请 注册新账号