.stream() 和 Stream.of 之间有什么区别?

2022-09-01 22:34:53

从集合创建流的最佳方式是:

    final Collection<String> entities = someService.getArrayList();
  1. entities.stream();

  2. Stream.of(entities);


答案 1

第二个不会做你认为它做的事情!它不会为您提供包含集合元素的流;相反,它将为您提供一个具有单个元素的流,该元素是集合本身(而不是其元素)。

如果需要具有包含集合元素的流,则必须使用 。entities.stream()


答案 2

1)

Stream<String> stream1 = entities.stream()

2)

Stream<Collection<String>> stream2 = Stream.of(entities)

因此,请使用 1 或 2

Stream<String> stream3 = Stream.of("String1", "String2")

推荐