Book Record/Effective Java 3E

[Effective Java] null이 아닌, 빈 컬렉션이나 배열을 반환하라

lakelight 2022. 12. 22. 08:08
728x90
반응형
null을 반환하는 코드는 클라이언트가
null 상황을 처리하는 코드를 추가하도록 한다.

컬렉션이나 배열 같은 컨테이너가 비었을 때
null을 반환하는 메서드를 사용할 때면 방어 코드를 추가해야 한다.

 

빈 컬렉션을 반환하는 코드

public List<Object> getList() {
	return object.isEmpty() ? Collections.emptyList() : new ArrayList<>(object);
}

 

길이가 0일 수도 있는 배열을 반환하는 코드

private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];

public Object[] getObjects() {
	return object.toArray(EMPTY_OBJECT_ARRAY);
}

 

마무리

null을 반환하는 API는 사용하기 어렵고 오류 처리 코드도 증가합니다.
성능이 좋은 것도 아니기 때문에 null을 반환하지 않는 것이 좋은 방법 입니다.

 

[출처]

이펙티브 자바 Effective Java 3/E - 조슈아 블로크 저/ 개앞맵시 

 

728x90
반응형