Java 8 个流,未编译的示例
Java 8 Streams, example that not compile
我的问题很短,为什么编译不了?
final ArrayList <Integer> list = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList());
问题出现在Collectors.toList()
部分。
Collectors.toList()
returns 一些 List
实现不一定是 ArrayList
,而且可能不是。
尝试
final List <Integer> list = IntStream.rangeClosed(1, 20)
.boxed()
.collect(Collectors.toList());
如果您特别需要 ArrayList
,可以使用 collect(Collectors.toCollection(ArrayList::new))
。
final ArrayList <Integer> list = IntStream.rangeClosed(1, 20)
.boxed()
.collect(Collectors.toCollection(ArrayList::new));
我的问题很短,为什么编译不了?
final ArrayList <Integer> list = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList());
问题出现在Collectors.toList()
部分。
Collectors.toList()
returns 一些 List
实现不一定是 ArrayList
,而且可能不是。
尝试
final List <Integer> list = IntStream.rangeClosed(1, 20)
.boxed()
.collect(Collectors.toList());
如果您特别需要 ArrayList
,可以使用 collect(Collectors.toCollection(ArrayList::new))
。
final ArrayList <Integer> list = IntStream.rangeClosed(1, 20)
.boxed()
.collect(Collectors.toCollection(ArrayList::new));