메서드에서 컬렉션이나 배열을 반환할 때, null이 아닌 빈 컬렉션이나 빈 배열을 반환해야 하는데 그 이유는
- 호출자 코드 단순화 : 호출자가 null을 처리할 필요 없이 바로 컬렉션이나 배열을 사용할 수 있다.
- 널 포인터 예외 방지 : null을 반환할 경우 이를 처리하지 않아 발생할 수 있는 NullPointerException을 방지할 수 있다.
- 일관성 유지 : 항상 같은 타입의 객체를 반환하므로 메서드 사용이 일관되고 예측가능해진다.
핵심 정리 : null이 아닌, 빈 배열이나 컬렉션을 반환하라. null을 반환하는 api는 사용하기 어렵고 오류 처리 코드도 늘어난다. 그렇다고 성능이 좋은 것도 아니다.
'이펙티브 자바' 카테고리의 다른 글
[이펙티브 자바] 아이템 56. 공개된 API 요소에는 항상 문서화 주석을 작성하라 (0) | 2024.05.21 |
---|---|
[이펙티브 자바] 아이템 55. 옵셔녈 반환은 신중히 하라 (0) | 2024.05.21 |
[이펙티브 자바] 아이템 53. 가변인수는 신중히 사용하라 (0) | 2024.05.21 |
[이펙티브 자바] 아이템 52. 다중정의는 신중히 사용하라 (0) | 2024.05.21 |
[이펙티브 자바] 아이템 51. 메서드 시그니처를 신중히 설계하라 (0) | 2024.05.14 |