IntBinaryOperator

IntBinaryOperator (int 이항 연산자)

두 개의 int 값 피연산자에 대한 연산을 나타내고 int 값 결과를 생성하는 함수형 인터페이스예요. BinaryOperator의 int 원시 타입 특수화예요.

출처: Java API Reference

본문

IntBinaryOperator의 추상 메서드는 applyAsInt(int, int)로 두 int 인자를 받아 int를 반환해요. 박싱 없이 원시 int로 동작해 성능이 좋아요.

@FunctionalInterface
public interface IntBinaryOperator
IntBinaryOperator max = (a, b) -> Math.max(a, b);
IntBinaryOperator gcd = (a, b) -> {
    while (b != 0) { int t = b; b = a % b; a = t; }
    return a;
};

int m = max.applyAsInt(3, 9);     // 9
int g = gcd.applyAsInt(12, 18);   // 6

IntStream.reduce의 조합 함수로 자주 쓰여요.

int sum = IntStream.of(1, 2, 3).reduce(0, (a, b) -> a + b); // 6

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

더 알아보기