LongSupplier

LongSupplier (long 공급자 함수형 인터페이스)

long 값 결과의 공급자(supplier)를 나타내는 함수형 인터페이스예요. Supplier의 long 생성 원시 특수화예요. 호출할 때마다 별개의 결과를 반환할 필요는 없어요.

출처: Java API Reference

본문

LongSupplier의 추상 메서드는 getAsLong()으로 인자 없이 long 값을 반환해요.

@FunctionalInterface
public interface LongSupplier
LongSupplier nanoTime = System::nanoTime;
LongSupplier counter = new LongSupplier() {
    private long n = 0;
    public long getAsLong() { return ++n; }
};

long t = nanoTime.getAsLong();
long c = counter.getAsLong(); // 1

OptionalLong.orElseGet처럼 값 생성이 필요할 때까지 미루는(lazy) 계산에 유용해요.

long v = OptionalLong.empty().orElseGet(() -> computeDefault());

함수형 메서드는 getAsLong()예요. 코드와 시그니처는 원문 그대로 보존돼요.

더 알아보기