Optional
Optional 클래스는 null이 올 수 있는 값을 감싸는 Wrapper 클래스로, 참조하더라도 NullPointerException가 발생하지 않도록 도와주는 클래스이다.
사용법
- Optional.empty() : 빈 Optional 객체를 생성한다.
Optional<String> optional = Optional.empty();
- optional.of() : 값이 절대 null이 아님을 보장한다.
Optional<String> optional = Optional.of(getAge());
- Optional.ofNullable() : 값이 null일 수도 있다.
Optional<String> optional = Optional.ofNullable(getAge());
String age = optional.orElse("0");
접근법
- get() : 비어있는 Optional 객체를 반환한다.
- isPresent() : Optional 객체 안에 저장된 값이 null 인지 아닌지 확인한다.
- orElse() : 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 파라미터의 값을 반환한다.
- orElseGet() : 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 파라미터의 람다식 결과값을 반환한다.
- orElseThrow() : 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 파라미터의 예외를 발생시킨다.
참조
https://velog.io/@heewonim/Java-Optional-%EC%83%9D%EC%84%B1%EA%B3%BC-%EC%A0%91%EA%B7%BC-Optional-%EB%A9%94%EC%84%9C%EB%93%9C