표 3-2에 기본 타입 int, long, double에 특화된 함수형 인터페이스 34개를 정리했다. 오토박싱을 줄이려면 이런 특화된 버전을 사용하는 것이 좋다. 같은 이유로 앞 절의 예제에서도 Consumer <Integer> 대신 IntConsumer를 사용했다.
▼ 표 3-2 기본 타입용 함수형 인터페이스
함수형 인터페이스 |
매개변수 타입 |
반환 타입 |
추상 메서드 이름 |
BooleanSupplier |
없음 |
boolean |
getAsBoolean |
PSupplier |
없음 |
p |
getAsP |
PConsumer |
p |
void |
accept |
ObjPConsumer<T> |
T, p |
void |
accept |
PFunction<T> |
p |
T |
apply |
PToQFunction |
p |
q |
applyAsQ |
ToPFunction<T> |
T |
p |
applyAsP |
ToPBiFunction<T, U> |
T, U |
p |
applyAsP |
PUnaryOperator |
p |
p |
applyAsP |
PBinaryOperator |
p, p |
p |
applyAsP |
PPredicate |
p |
boolean |
test |
※ p, q는 int, long, double이고 P, Q는 Int, Long, Double이다.