private final List<Cheese> cheesesInStock = ...;
/**
* @return 매장 안의 모든 치즈 목록을 반환한다.
* 단, 재고가 하나도 없다면 null을 반환한다.
*/
public List<Cheese> getCheeses() {
return cheesesInStock.isEmpty() ? null : new ArrayList<>(cheesesInStock);
}
List<Cheese> cheeses = shop.getCheeses();
if (cheeses != null && cheeses.contains(Cheese.STILTON)) {
System.out.println("좋았어, 바로 그거야.");
}
null
을 반환하는 것이 낫다.빈 컬렉션 반환
public List<Cheese> getCheeses() {
return new ArrayList<>(cheesesInStock);
}
최적화:
public static List<Integer> getArr() {
List<Integer> arr = new ArrayList<>();
return arr.isEmpty() ? Collections.emptyList() : arr;
}
public static final <T> List<T> emptyList() {
return (List<T>) EMPTY_LIST;
}