OptionalLong — long 값이 있을 수도 없을 수도 있는 컨테이너

OptionalLong — long 값이 있을 수도 없을 수도 있는 컨테이너

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

출처: Java API Reference

본문

public final class OptionalLong extends Object

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

팩토리

  • empty() — 빈 OptionalLong을 반환해요.
  • of(long value) — 주어진 값을 가진 OptionalLong을 반환해요.

조회와 처리

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

값 얻기

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

기타

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

더 알아보기 (Learn more)