아이템53 가변인수는 신중히 사용하라
Effective Java 3e 아이템 53를 요약한 내용 입니다.
static int min(int... args) {
if (args.length == 0)
throw new IllegalArgumentException("인수가 1개 이상 필요합니다.");
int min = args[0];
for (int i = 1; i < args.length; i++)
if (args[i] < min)
min = args[i];
return min;
}이 방식에는 문제가 몇 개 있다.
개선해보자.
static int min(int firstArg, int... remainingArgs) {
int min = firstArg;
for (int arg : remainingArgs)
if (arg < min)
min = arg;
return min;
}성능에 민감한 상항이라면 가변인수 사용은 고려해보자
EnumSet의 정적 팩터리도 이 기법을 사용해 열거 타입 집합 생성 비용을 최소화한다.
아이템 36 EnumSet 예
정리
Last updated