在这个问题中已经回答了两种表达式是相等的,但在这种情况下它们产生不同的结果。对于给定的
int[] scores
,为什么这个可以工作:Arrays.stream(scores)
.forEach(System.out::println);
...但这并不会:
Arrays.asList(scores).stream()
.forEach(System.out::println);
据我所知,.stream()
可以调用任何集合,其中包括列表。第二个代码片段仅返回包含整个数组而不是元素的流。
据我所知,.stream()
可以在任何集合上调用,包括列表。第二段代码只返回一个包含整个数组而不是元素的流。
List<Integer> scoresAsList = new ArrayList<>(scores);
? - AdHominemStream.of(scores).forEach(System.out::println);
与Arrays.asList(scores).stream().forEach(System.out::println);
的作用是相同的... - Holger