Java optionalとは?
2134 ワード
スプリングの授業を聞いて、optionalというクラスを知った.不思議で重要な類のように整理を始めます!
Java 8がサポートするクラス.開発時にはNullPointerException(NPE)が頻繁に発生しますが、それを避けるためにnullチェックロジックが追加されることが多いです.しかしnullチェックを必要とする変数が多くなるとコードが複雑になり論理も面倒になる.Optionalは、nullが発生する可能性のある値を含むWrapperクラスであり、それを参照してもNPEの発生を回避するのに役立ちます.
optional.NULL():値がNULLの場合
optional.of():nullでない場合
optional.ofNullable():値がnullでない場合
optional.orElse():値がない場合はデフォルト値を返します.
optional.isPresent():オプション値がある場合は、 それ以外にも多くの関数があるようで、使用するたびに追加されます.🤓
注意:https://mangkyu.tistory.com/70
オプションとは?
Java 8がサポートするクラス.開発時にはNullPointerException(NPE)が頻繁に発生しますが、それを避けるためにnullチェックロジックが追加されることが多いです.しかしnullチェックを必要とする変数が多くなるとコードが複雑になり論理も面倒になる.Optionalは、nullが発生する可能性のある値を含むWrapperクラスであり、それを参照してもNPEの発生を回避するのに役立ちます.
オプションの使用
optional.NULL():値がNULLの場合
Optional<String> optional = Optional.empty();
System.out.println(optional); // optional.empty
System.out.println(optional.isPresent()); // false
optional.of():nullでない場合
Optioanl<String> optional = Optional.if("myNAme");
*nullとして保存しようとすると、NPEが生成されます.optional.ofNullable():値がnullでない場合
Optional<String> optional = optional.ofNullable(getName());
optional.orElse():値がない場合はデフォルト値を返します.
Optional<String> optional = optional.ofNullable(getName()).orElse("hi");
optional.isPresent():オプション値がある場合は、
Optional<String> result = repo.findByName(getName());
repo.ifPresent(res -> { throw new exception(); });
注意:https://mangkyu.tistory.com/70
Reference
この問題について(Java optionalとは?), 我々は、より多くの情報をここで見つけました https://velog.io/@wjdgkrud/java-optional이란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol