Optional <t>
값이 없는 경우(null) 를 표현하기 위해, 객체를 감싸는 Wrapper 클래스이다.
Optional 객체는 값이 존재할 수도 있고, 없을 수도 있다.
Optional 메서드를 이용하면 If를 이용한 null 값 체크를 대체할 수 있다.
Optional 객체 생성
Optional<Member> findByID(Long id);
Optional<Member> findByName(String name);
Optional 객체 접근
private void validateDuplicateMember(Member member) {
memberRepository.findByName(member.getName())
.ifPresent(m ->{
throw new IllegalStateException("이미 존재하는 회원입니다.");
});
}
isPresent() 객체에 값이 있으면 True, 없으면 False
@Test
public void save(){
Member member= new Member();
member.setName("spring");
repository.save(member);
Member result=repository.findByID(member.getId())
.orElseThrow(); new NoSuchElementException("No value present");
assertThat(member).isEqualTo(result);
}
orElseThrow() 객체가 null이면 함수형 인자를 통해 생성된 예외가 발생하고,
null이 아니면 객체를 반환한다.
'spring & java' 카테고리의 다른 글
| 스프링 MVC / 기본 애노테이션 정리 (0) | 2024.07.08 |
|---|---|
| 싱글톤 패턴 기초 (1) | 2024.02.19 |
| [java] Map 사용방법 (0) | 2024.01.25 |
| MVC, 템플릿 엔진 기초 이해 (2) | 2024.01.04 |
| [java] BufferedReader 로 문자열 입력받기 (0) | 2023.07.30 |