Java 8에 추가됨. null
일 수도 있는 객체를 감싸는 일종의 Wrapper class
반복적인 null 체크를 줄일 수 있다.
Spring Data JPA
사용 시 Repository
에서 리턴 타입을 Optional
로 바로 받을 수 있다.
Optional<Member> optMember = Optional.empty();
Optional<Member> optMember = Optional.of(member);
Optional<Member> optMember = Optional.ofNullable(member);
NoSuchElementException
발생isPresent()
로 체크 후 사용Member member = optMember.get();
Member member = optMember.orElseThrow(NullPointerException::new);
Member member = optMember.orElse(member1);