Optional
Optional
Java 8에 추가됨. null
일 수도 있는 객체를 감싸는 일종의 Wrapper class
반복적인 null 체크를 줄일 수 있다.
Spring Data JPA
사용 시 Repository
에서 리턴 타입을 Optional
로 바로 받을 수 있다.
🎨 Optional 객체 생성
1. 비어있는 객체로 생성, Member 객체는 null
Optional<Member> optMember = Optional.empty();
2. 인자를 담고 있는 객체로 생성, 인자가 null일 경우 NullPointerException이 발생할 수 있음
Optional<Member> optMember = Optional.of(member);
3. null일수도 / 아닐수도 있는 객체를 담아 생성
Optional<Member> optMember = Optional.ofNullable(member);
🔍 Optional 객체 접근
1. Optional 내부에 담긴 객체를 반환
- null일 경우
NoSuchElementException
발생 isPresent()
로 체크 후 사용
Member member = optMember.get();
2. 담긴 객체가 null인 경우 예외, 아닌 경우 객체 반환
- 인자로 넘겨준 함수형 인자를 통해 생성된 예외 발생
Member member = optMember.orElseThrow(NullPointerException::new);
3. 담긴 객체가 null인 경우 인자의 객체, 아닌 경우 담긴 객체 반환
Member member = optMember.orElse(member1);
Author And Source
이 문제에 관하여(Optional), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ychxexn/Optional저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)