Optionalクラスの用途は何ですか
- 解決する主な問題は、NullPointerException(NullPointerException)です。
それをどう扱うか?
- 本質は、オプションの値を含むラッパークラスです。つまり、オプションクラスはオブジェクトを含むか空にすることができます。
オプションのクラスを作成する
- の()
- null値がパラメーターとして渡されると、例外がスローされます
Optional<Student> opt = Optional.of(user);
- ofNullable()
- オブジェクトがnullまたはnull以外の場合は、ofNullable()メソッドを使用する必要があります
Optional<Student> opt = Optional.ofNullable(user);
- Optionalオブジェクトの値にアクセスする
- get()メソッド
Optional<Student> opt = Optional.ofNullable(student);
Student s = opt.get();
- 値が存在する場合、isPresent()メソッドはtrueを返します。get()メソッドを呼び出すと、オブジェクトが返されます。通常、getを使用する前に値があるかどうかを確認する必要があります。それ以外の場合は、エラーが報告されます
public static void main(String[] args) {
Student student = null;
test(student);
}
public static void test(Student student){
Optional<Student> opt = Optional.ofNullable(student);
System.out.println(opt.isPresent());
}
- BottomまたはElseメソッド
- orElse()は、値がある場合はその値を返し、それ以外の場合は渡されたパラメータの値を返します
Student student1 = null;
Student student2 = new Student(2);
Student result = Optional.ofNullable(student1).orElse(student2);
System.out.println(result.getAge());
Student student = null;
int result = Optional.ofNullable(student).map(obj->obj.getAge()).orElse(4);
System.out.println(result);