Optional로 값 없음 표현하기의 선택 기준을 나란히 비교한다
비교 항목: 조회 결과의 없음에 사용한다 / map과 flatMap으로 값이 있을 때만 변환한다 / 컬렉션과 필드에는 다른 모델을 우선한다
| 확인 질문 | 판단 근거 | 코드에서 드러낼 것 |
|---|---|---|
| 조회 결과의 없음에 사용한다 | 단일 값을 찾는 메서드가 null 대신 Optional를 반환하면 호출자가 map, orElse, orElseThrow로 정책을 고릅니다. | 타입과 시작값 |
| map과 flatMap으로 값이 있을 때만 변환한다 | Optional을 연쇄 조건문처럼 중첩하지 않고 값 변환 흐름을 연결합니다. | 실패 또는 변경 경계 |
| 컬렉션과 필드에는 다른 모델을 우선한다 | 여러 결과는 빈 컬렉션, 필수 필드는 생성자 검증이 더 단순합니다. | 선택한 규칙의 결과 |
선택 기준 여러 결과는 빈 컬렉션, 필수 필드는 생성자 검증이 더 단순합니다.