ObjLongConsumer
ObjLongConsumer (객체+long 소비자)
객체 값 인자와 long 값 인자를 받고 결과를 반환하지 않는 연산을 나타내는 함수형 인터페이스예요. BiConsumer의 (reference, long) 특수화예요. 대부분의 다른 함수형 인터페이스와 달리 부수 효과(side-effects)를 통해 동작할 것으로 기대돼요.
본문
ObjLongConsumer<T>의 추상 메서드는 accept(T, long)로 객체와 long 인자를 받고 결과를 반환하지 않아요.
@FunctionalInterface
public interface ObjLongConsumer<T>
주로 상태 객체에 값을 누적하거나 객체와 long을 함께 처리할 때 사용해요.
class Budget {
long spent = 0;
void spend(String item, long amount) { spent += amount; }
}
ObjLongConsumer<Budget> spend = Budget::spend;
Budget b = new Budget();
spend.accept(b, 5000L); // b.spent += 5000
LongSummaryStatistics를 직접 채울 때처럼 collect에 쓰이기도 해요.
ObjLongConsumer<LongSummaryStatistics> acc =
(s, l) -> s.accept(l);
함수형 메서드는 accept(Object, long)예요. 코드와 시그니처는 원문 그대로 보존돼요.