Java8-optional-class
Java 8-オプションのクラス
オプションは、null以外のオブジェクトを含むために使用されるコンテナオブジェクトです。 オプションのオブジェクトは、値が存在しない場合にnullを表すために使用されます。 このクラスには、null値をチェックする代わりに、値を「使用可能」または「使用不可」として処理するコードを容易にするさまざまなユーティリティメソッドがあります。 これはJava 8で導入され、グアバのオプションと似ています。
クラス宣言
以下は java.util.Optional <T> クラスの宣言です-
クラスメソッド
Sr.No. | Method & Description |
---|---|
1 |
static <T> Optional<T> empty() 空のOptionalインスタンスを返します。 |
2 |
boolean equals(Object obj) 他のオブジェクトがこのオプションと「等しい」かどうかを示します。 |
3 |
Optional<T> filter(Predicate<? super <T> predicate) 値が存在し、その値が特定の述語と一致する場合、値を説明するOptionalを返し、そうでない場合は空のOptionalを返します。 |
4 |
<U> Optional<U> flatMap(Function<? super T,Optional<U>> mapper) 値が存在する場合は、提供されたオプション軸受マッピング関数をその値に適用し、その結果を返します。それ以外の場合は空のオプションを返します。 |
5 |
T get() このOptionalに値が存在する場合は値を返し、そうでない場合はNoSuchElementExceptionをスローします。 |
6 |
int hashCode() 存在する場合は現在の値のハッシュコード値を返します。値が存在しない場合は0(ゼロ)を返します。 |
7 |
void ifPresent(Consumer<? super T> consumer) 値が存在する場合、指定されたコンシューマーをその値で呼び出します。それ以外の場合は何もしません。 |
8 |
boolean isPresent() 値が存在する場合はtrue、そうでない場合はfalseを返します。 |
9 |
<U>Optional<U> map(Function<? super T,? extends U> mapper) 値が存在する場合、提供されたマッピング関数をその値に適用し、結果がnullでない場合、結果を説明するOptionalを返します。 |
10 |
static <T> Optional<T> of(T value) 指定された現在のnull以外の値でOptionalを返します。 |
11 |
static <T> Optional<T> ofNullable(T value) null以外の場合、指定された値を記述するOptionalを返します。それ以外の場合、空のOptionalを返します。 |
12 |
T orElse(T other) 存在する場合は値を返し、そうでない場合はその他を返します。 |
13 |
T orElseGet(Supplier<? extends T> other) 値が存在する場合はそれを返し、そうでない場合は他を呼び出し、その呼び出しの結果を返します。 |
14 |
<X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier) 含まれている値が存在する場合はそれを返し、そうでない場合は提供されたサプライヤによって作成される例外をスローします。 |
15 |
String toString() デバッグに適したこのオプションの空でない文字列表現を返します。 |
このクラスは、次のクラスからメソッドを継承します-
- java.lang.Object
オプションの例
C:\> JAVAなどで選択した任意のエディターを使用して、次のJavaプログラムを作成します。
Java8Tester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
次のようにJava8Testerを実行します-
それは次の出力を生成する必要があります-