我如何在Java中转换列表<整数>到int[] ?
我很困惑,因为List.toArray()实际上返回一个对象[],它既不能转换为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;
}
有更好的办法吗?
这和上面的问题类似
如何在Java中将int[]转换为Integer[] ?
我注意到for循环的一些用法,但是在循环中甚至不需要任何东西。我提到这一点只是因为最初的问题是试图找到不那么冗长的代码。
int[] toArray(List<Integer> list) {
int[] ret = new int[ list.size() ];
int i = 0;
for( Iterator<Integer> it = list.iterator();
it.hasNext();
ret[i++] = it.next() );
return ret;
}
如果Java像c++那样允许在for循环中多次声明,我们可以更进一步,执行for(int i = 0, Iterator it…
最后(这部分只是我的观点),如果你想要有一个帮助函数或方法来为你做一些事情,那就把它设置好,然后忘记它。它可以是一行或十条;如果你再也不看它,你就不会知道其中的区别。