LongPredicate
LongPredicate (long 프레디케이트)
하나의 long 값 인자에 대한 프레디케이트(boolean 값을 반환하는 함수)를 나타내는 함수형 인터페이스예요. Predicate의 long 소비 원시 타입 특수화예요.
본문
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)예요. 코드와 시그니처는 원문 그대로 보존돼요.