LongPredicate

LongPredicate (long 프레디케이트)

하나의 long 값 인자에 대한 프레디케이트(boolean 값을 반환하는 함수)를 나타내는 함수형 인터페이스예요. Predicate의 long 소비 원시 타입 특수화예요.

출처: Java API Reference

본문

LongPredicate의 추상 메서드는 test(long)로 long 인자를 받아 boolean을 반환해요. 기본 메서드로 and, or, negate가 있어 결합·부정할 수 있어요.

@FunctionalInterface
public interface LongPredicate
LongPredicate huge = n -> n > 1_000_000L;
LongPredicate even = n -> n % 2 == 0;

boolean r1 = huge.test(2_000_000L);        // true
boolean r2 = huge.and(even).test(3_000_000L);   // true
boolean r3 = huge.negate().test(100L);     // true

LongStream.filter에 자주 사용돼요.

long[] big = LongStream.of(100L, 1_000_000L, 5_000_000L)
    .filter(n -> n >= 1_000_000L)
    .toArray();

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

더 알아보기