VS :스트림() 콜렉션에서 스트림을 만들 수있는 가장 좋은 방법 Stream.of
final Collection<String> entities = someService.getArrayList();
entities.stream();
Stream.of(entities);
VS :스트림() 콜렉션에서 스트림을 만들 수있는 가장 좋은 방법 Stream.of
final Collection<String> entities = someService.getArrayList();
entities.stream();
Stream.of(entities);
번째 하나는 당신이 생각하는 것을하지 않습니다! 이 아니라은 컬렉션의 요소가있는 스트림을 제공합니다. 대신 컬렉션 자체 (요소가 아님) 인 단일 요소가있는 스트림을 제공합니다.
컬렉션의 요소가 포함 된 스트림이 필요한 경우 entities.stream()
을 사용해야합니다.
1)
Stream<String> stream1 = entities.stream()
2)
Stream<Collection<String>> stream2 = Stream.of(entities)
따라서 1을 사용하거나, 그 배열은`entities` 변한다면 2
Stream<String> stream3 = Stream.of("String1", "String2")
위해, 그것은있을 것이다 matter – Andrew
@AndrewTobilko 예,'Streams.of (...)'는'entities'가 배열이 될 수 있지만 aurelius의 질문에서는'Collection'이지, 정렬. – Jesper
@Andrew Tobilko : 엔티티가 배열 인 경우 스트림을 생성하는 권장 방법은'Arrays.stream (entities)'입니다. 그렇지 않으면 상황에 따라 단일 배열 요소의 스트림을 얻을 위험이 있습니다. 'Stream.of'는 호출에서 직접 명명 된 요소를위한 것입니다. 물론 단일 요소 스트림을 원한다면'Stream.of (...) '가 올바른 선택입니다. – Holger