Optional 변수에 대입되거나 Optional을 반환하는 메서드에 의해 반환된 null을 보고합니다.

Optional.empty() (또는 Guava의 경우 Optional.absent()) 를 사용하여 빈 값을 표시하는 것을 권장합니다.

예:


  Optional<Integer> foo(boolean flag) {
    return flag ? Optional.of(42) : null;
  }

빠른 수정을 적용한 후:


  Optional<Integer> foo(boolean flag) {
    return flag ? Optional.of(42) : Optional.empty();
  }

검사 구성:

optional == null 같은 비교도 보고하려면 Optional과 null 비교 결과 보고 옵션을 사용하세요. 이는 드문 경우(예: 선택적 필드의 지연된 초기화) 올바를 수 있지만 선택적 변수는 일반적으로 null이 아니며 optional.isPresent()는 의도된 것일 수 있습니다.

2017.2의 새로운 기능