Generic 숫자와 primitive 특화

표현력과 boxing 비용, null 계약을 함께 비교한다.

Function<Integer,Integer>

boxing 가능

null 가능

IntUnaryOperator

int → int

null 없음

ToIntFunction<T>

object → int

추출

IntPredicate

int → boolean

숫자 filter
기준profiler로 확인한 hot path에서 specialization을 선택한다.

핵심: primitive 타입이 금액 반올림과 overflow 정책을 대신하지 않는다.