【发布时间】:2010-10-31 22:03:26
【问题描述】:
这类似于这个问题: How to convert int[] to Integer[] in Java?
我是 Java 新手。如何在 Java 中将 List<Integer> 转换为 int[]?我很困惑,因为List.toArray() 实际上返回了一个Object[],它可以转换为下界Integer[] 或int[]。
现在我正在使用循环来执行此操作:
int[] toIntArray(List<Integer> list){
int[] ret = new int[list.size()];
for(int i = 0;i < ret.length;i++)
ret[i] = list.get(i);
return ret;
}
我确信有更好的方法来做到这一点。
【问题讨论】:
-
您只能使用以下方法转换为 Integer[]:
Integer[] arr = (Integer[])list.toArray(new Integer[list.size]); -
@Hardcoded 您可能想编辑您的评论以使用 list.size() 方法并删除不必要的演员表。
-
现在在 Java 8 中有没有更好的方法来做到这一点?
-
(@Makoto : 见Pshemo's answer)
-
int[] arr = listOfIntegers.stream().mapToInt(x->x).toArray();
标签: java arrays collections