Optional<T>

0

JAVA - 자바의 정석 정리

목록 보기
104/104

Optional< T>

: T 타입 객체의 래퍼클래스 - Optional< T>

  • T가 있기때문에 모든 종류의 객체를 저장할 수 있고, null도 저장가능하다.
    -> 왜 중요한가? 간접적으로 null을 다루기 위함! null을 직접 다루는 것은 위험하다.!
    1) NullpointerException 예외 발생가능하기 때문이다.
    2) null을 직접 다루게되면 null체크를 꼭 해줘야하는데 이는 if문 필수이므로 코드가 지저분해진다.

객체 생성하기

: Optional.of() 사용


-> str은 null이더라도 optVal은 null이 아니다.

  • null대신 빈 Optional< T>객체를 사용하자
    • Optional<String> optVal = null; // 널로 초기화. 바람직하지 않음
      Optional<String> optVal = Optional.<String>empty(); // 빈 객체로 초기화, 오른쪽<>생략가능

Optional< T> 객체의 값 가져오기

  • 객체의 값 가져오기 : get(), orElse(), orElseGet(), orElseThrow()
  • isPresent() : Optional객체의 값이 null이면 false, 아니면 true를 반환

OptionalInt, OptionalLong, OptionalDouble

: 기본형 값을 감싸는 래퍼클래스 -> 성능때문에 사용

  • OptionalInt의 값 가져오기 - int getAsInt()
  • 빈 Optional객체와의 비교
profile
백엔드를 공부하고 있습니다.

0개의 댓글