해결된 질문
24.05.16 12:57 작성
·
124
0
Set<Integer> set = new TreeSet<>(List.of(30, 20, 20, 10, 10));
set에 값을 넣을 때, List는 전달 할 수 있다고 하셨는데,
List.of();를 사용하면 ()안에 값을 List에 넣는 거고,
List의 타입은 Set<Integer>를 보고 Integer로 타입추론을 하게되고,
List<Integer>이기 때문에 ()안에 들어간 int형 (30, 20, 20, 10, 10)은 오토박싱이 돼서
int -> Integer 타입으로 변경되서 List에 들어간다.
제가 이해한 게 맞나요??ㅠㅠ
답변 1
1
안녕하세요. 권정익님, 공식 서포터즈 코즈위버입니다.
TreeSet의 생성자에는 Collection 을 받는 생성자가 있습니다. 그래서 List.of() 로 생성한 Collection 도 파라미터로 사용할 수 있습니다.
그 외에는 이해하고 계신 내용이 맞습니다. int 값이 Integer 로 박싱 되어 Set 의 요소로 추가됩니다.
감사합니다.