정리

컬렉션이나 배열같은 컨테이너가 비었을때 null 을 반환하는 메서드를 사용할 때면 방어코드를 넣어줘야한다. 빈컨테이너를 할당하는 데도 비용니 드니 null 을 반환하는 쪽이 낫다는 주장은 두가지면에서 틀리다. 첫번째, 성능분석결과 이할당이 성능 저하의 주범이라고 확인되지 않는 한, 이 정도의 성능 차이는 신경쓸 수준이 못된다. 두번째, 빈 컬렉션과 배열은 굳이 새로 할당하지 않고도 반환할 수 있다.

핵심정리

null 이 아닌, 빈 배열이나 컬렉션을 반환하라. null 을 반환하는 API 는 사용하기 어렵고 오류 처리 코드도 늘어난다. 그렇다고 성능이 좋은것도 아니다.