[item53] Set 내부 구현
Closed this issue · 1 comments
yeon-06 commented
안녕하세요 후니~!
궁금한 점이 생겨 이슈 남깁니다😄
성능 이슈로 인한 예제로 Set 내부 코드를 보여주셨는데요
파라미터가 0 ... 10개인 경우의 of가 있고
아래 같은 가변 인수를 받는 of가 따로 있어요
@SafeVarargs
@SuppressWarnings("varargs")
static <E> Set<E> of(E... elements) { ... }
0 ... 10개인 경우의 of가 이미 존재하는데 왜 switch를 통해 element 개수가 0, 1, 2인 경우를 또 다시 검증하나요?
jayjaehunchoi commented
0, 1, 2 임에도 가변인수 메서드를 사용하는 경우를 방어적으로 작성한 거라고 보면 될 것 같습니다. 보시다시피 0, 1, 2와 default는 구현이 달라 이부분을 방어적으로 작성하지 않으면 에러가 발생할 것으로 예상됩니다 ㅎㅎ