IntStream没有
collect接受的方法
Collector。如果您想要
List<Integer>,则必须将装箱
IntStream到
Stream<Integer>:
out = IntStream .range(1, 10) .filter(e -> e % 2 == 0) .map(e -> 2 * e) .boxed() .collect(Collectors.toList());
的替代方法
.map().boxed()是
mapToObj():
out = IntStream .range(1, 10) .filter(e -> e % 2 == 0) .mapToObj(e -> 2 * e) .collect(Collectors.toList ());
或者您可以使用以下
IntStream
collect方法:
out = IntStream .range(1, 10) .filter(e -> e % 2 == 0) .map(e -> 2 * e) .collect(ArrayList<Integer>::new, ArrayList::add, ArrayList::addAll);



