item 55) 옵셔널 반환은 신중히 하라
값을 반환할 수 없는 경우
public static <E extends Comparable<E>>
Optional<E> max(Collection<E> c) {
if (c.isEmpty())
return Optional.empty();// 빈 옵셔널 만들기
E result = null;
for (E e : c)
if (result == null || e.compareTo(result) > 0)
result = Objects.requireNonNull(e);
return Optional.of(result);// 1) result가 null이면 NullPointerException 발생하는 메서드이다.
return Optional.ofNullable(result);// 2) null값이 들어와도 안전하게 처리한다.
}메서드가 옵셔널 반환할 때 클라이언트가 할 일
Optional과 Stream
Optional 주의점
Last updated