인프런 커뮤니티 질문&답변

dduckmane님의 프로필 이미지
dduckmane

작성한 질문수

더 자바, Java 8

findFirst함수

작성

·

280

0

findFirst함수를 쓰면 optional로 감싸져서 나온다고 하셨는데

of로 감싸지는 건지 아니면 ofNullable로 감싸지는 건지 궁금합니다.

답변 1

1

백기선님의 프로필 이미지
백기선
지식공유자

안녕하세요.  of가 사용될겁니다. Stream 인터페이스 문서에 따르면 인자 자체가 null인 경우에는 NullPE 발생한다고 해놨으니, 구현체에서 아마도 해당 요소가 null인지 호가인해서 null이면 예외를 던지고 null아 아닌 경우에만 of로 감싸서 리턴하겠네요. 물론, 해당하는 요소를 못찾은 경우에는 Optional.empty()를 리턴할테구요.

Optional<T> findFirst()
Returns an Optional describing the first element of this stream, or an empty Optional if the stream is empty. If the stream has no encounter order, then any element may be returned.

This is a short-circuiting terminal operation.

Returns:
an Optional describing the first element of this stream, or an empty Optional if the stream is empty
Throws:
NullPointerException - if the element selected is null
dduckmane님의 프로필 이미지
dduckmane

작성한 질문수

질문하기