컬렉션 변환 API의 네 계약
가변성·원본 공유·null·크기를 기준으로 선택한다.
| API | 구조 변경 | 원본 공유 |
|---|---|---|
| List.of | 불가 | 없음 |
| Arrays.asList | add/remove 불가 | 배열 원소 공유 |
| List.copyOf | 불가 | snapshot |
| new ArrayList | 가능 | 독립 복사 |
핵심: 빈 결과는 null보다 불변 empty collection으로 반환해 호출자 분기를 줄인다.
가변성·원본 공유·null·크기를 기준으로 선택한다.
| API | 구조 변경 | 원본 공유 |
|---|---|---|
| List.of | 불가 | 없음 |
| Arrays.asList | add/remove 불가 | 배열 원소 공유 |
| List.copyOf | 불가 | snapshot |
| new ArrayList | 가능 | 독립 복사 |
핵심: 빈 결과는 null보다 불변 empty collection으로 반환해 호출자 분기를 줄인다.