OptionalInt — int 값이 있을 수도 없을 수도 있는 컨테이너

OptionalInt — int 값이 있을 수도 없을 수도 있는 컨테이너

OptionalIntint 값을 포함하거나 포함하지 않을 수 있는 컨테이너 객체예요. 값이 있으면 isPresent()true, 없으면 false를 반환해요. orElse()(기본값), ifPresent()(동작) 같은 추가 메서드를 제공해요. Optional<T>int 기본형 전문화예요.

출처: Java API Reference

본문

public final class OptionalInt extends Object

값 기반 클래스로, 같은 인스턴스를 동기화에 쓰면 예측할 수 없는 동작이 발생할 수 있어요.

팩토리

  • empty() — 빈 OptionalInt를 반환해요.
  • of(int value) — 주어진 값을 가진 OptionalInt를 반환해요.

조회와 처리

  • getAsInt() — 값이 있으면 반환하고, 없으면 NoSuchElementException을 던져요.
  • isPresent() / isEmpty() — 값 존재/부재 여부를 반환해요.
  • ifPresent(IntConsumer) — 값이 있으면 동작을 수행해요.
  • ifPresentOrElse(IntConsumer, Runnable) — 값이 있으면 첫 동작, 없으면 빈 기반 동작을 수행해요.
  • stream() — 값이 있으면 IntStream, 없으면 빈 IntStream을 반환해요.

값 얻기

  • orElse(int other) — 값이 없으면 other를 반환해요.
  • orElseGet(IntSupplier) — 값이 없으면 공급 결과를 반환해요.
  • orElseThrow() — 값이 없으면 NoSuchElementException을 던져요.
  • orElseThrow(Supplier) — 값이 없으면 공급 함수가 만든 예외를 던져요.

기타

equals(Object)는 둘 다 값이 없거나 값들이 ==로 같은 OptionalInt끼리 true를 반환해요. hashCode()는 값의 해시코드(없으면 0)를 반환해요. toString()은 디버깅용 문자열을 반환해요.

더 알아보기 (Learn more)