【发布时间】:2021-03-28 11:17:17
【问题描述】:
我正在尝试简化一些旧代码:
ArrayList arr = (generic arraylist)
int[] newArr = new int[arr.size()];
for(int i=0; i<arr.size(); i++){
newArr[i]=(int)arr.get(i);
}
我想使用 Java Stream API 来简化这一点。这是我的尝试:
ArrayList arr = (generic arraylist)
List<Integer> = arr.stream().map(m -> (int)m).collect(Collectors.toList());
我的理解是它会遍历 arr,将每个对象 m 类型转换为一个 int,然后将它收集到一个 List 中。但是我的编译器说第二行的右侧返回对象而不是列表。我哪里错了?
【问题讨论】:
-
int是前置的,ArrayList只能保存像Integer这样的对象,你想做什么?为什么需要类型转换? -
这能回答你的问题吗? Convert Stream to IntStream
-
在这里使用“通用”这个词会造成混淆。你的意思是Generics?如果不是,请更改您的措辞。给出一个完整的代码示例。
标签: java arraylist java-stream