Optional <t> 이란?

2024. 1. 6. 15:47·spring & java

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
'spring & java' 카테고리의 다른 글
  • 싱글톤 패턴 기초
  • [java] Map 사용방법
  • MVC, 템플릿 엔진 기초 이해
  • [java] BufferedReader 로 문자열 입력받기
zioni
zioni
  • zioni
    jiwon's dev.log
    zioni
  • 전체
    오늘
    어제
    • 분류 전체보기 (76)
      • spring & java (13)
      • Algorithm (14)
      • PS (37)
      • project (3)
      • experience (1)
      • etc (6)
      • study (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    백준2525
    java
    자바
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
zioni
Optional <t> 이란?
상단으로

티스토리툴바