Stream.ofNullable()
nullable 값에서 0개 또는 1개의 요소를 가진 스트림을 만듭니다.
코드 비교
✕ Java 8
Stream<String> s = val != null
? Stream.of(val)
: Stream.empty();
✓ Java 9+
Stream<String> s =
Stream.ofNullable(val);
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
간결함
하나의 호출이 삼항 조건부를 대체합니다.
flatMap 친화적
null 값을 건너뛰기 위해 flatMap 내부에서 완벽합니다.
null 안전
NPE 위험 없음 — null은 빈 스트림이 됩니다.
이전 방식
null 확인
모던 방식
ofNullable()
JDK 버전
9
난이도
초급
JDK 지원
Stream.ofNullable()
사용 가능
JDK 9 (2017년 9월) 이후 널리 사용 가능
동작 원리
Stream.ofNullable()은 값이 non-null이면 단일 요소 스트림을, null이면 빈 스트림을 반환합니다. null 확인 없이 스트림 파이프라인에 nullable 값을 통합합니다.
관련 문서