Java

[Java] Optional

Bay Im 2024. 12. 19. 16:56
  • Optional이란?
    • NullPointerException을 방지할 수 있도록 도와주는 Wrapper 클래스
    • Optional<엔티티클래스명> 형식으로 사용한다.
    • 값이 null이여도 바로 NullPointerException이 발생하지 않는다.

 

  • Optional 제공 메소드
    • empty()
      • 비어있는 Optional 객체 생성
    • of(값)
      • 전달된 값으로 새로운 Optional 객체 생성
    • equals(obj)
      • Optional 객체의 값을 비교한다.
    • filter(ㅁ → 조건)
      • 조건에 따라 Optional 객체 필터링
    • map(ㅁ → 새로운 객체)
      • Optional 객체 내부의 값을 반환하여 결과를 새로운 Optional 객체로 반환
    • get()
      • Optional 객체의 값을 가져온다.
    • isEmpty()
      • Optional 객체가 비어있는지 확인
    • isPresent()
      • Optional 객체가 있는지 확인
    • ifPresent(연산)
      • Optional 객체가 있다면 해당 연산 실행
    • or(() → Optional 객체)
      • Optional 객체가 비어있다면 다른 Optional 객체 반환
    • orElse(값)
      • Optional 객체가 비어있다면 해당 값 반환
    • orElseGet(() → ㅁ)
      • Optional 객체가 비어있다면 내부 함수 반환
    • stream()
      • Optional 객체의 값을 Stream으로 변환
    • toString()
      • Optional 내부값을 String 문자열로 변환