【发布时间】:2016-12-26 02:15:25
【问题描述】:
我正在编写一个方法,它将 Integer 数据类型从 List 的 Lists 转换为原始数组数组,类型为 int[][]。
问题
有没有办法使用 Java API 将 Integer 转换为 int?
供您参考,int[] set 将用于其他用途,请忽略。
我发现了什么
Apache Commons API "toPrimitive" 方法将 Integer 转换为 int 类型。但是,我只是在寻找使用本机 java API 的解决方案。
这是我目前的代码
class Test {
int[][] convert(int[] set) {
List<List<Integer>> ll = new ArrayList<List<Integer>>();
ll.add(new ArrayList<Integer>());
ll.add(new ArrayList<Integer>());
ll.add(new ArrayList<Integer>());
ll.get(0).add(1);
ll.get(0).add(2);
ll.get(1).add(2);
ll.get(2).add(3);
System.out.println(ll + " " + ll.size());
int[][] tempArray = new int[0][0];
for (int i = 0; i < ll.size(); i++) {
for (int j = 0; j < ll.get(i).size(); j++) {
tempArray[i][j] = ll.get(j);
}
}
return tempArray;
}
}
预期结果
List entry: [[1,2],[2],[3]]
return: {{1,2},{2},{3}}
错误
tempArray[i][j] = ll.get(j);
返回java.util.List<java.lang.Integer> cannot be converted to int。
【问题讨论】:
-
这:
Array<Array<int>>毫无意义。编译器不允许草率的错误,你也不应该。提问时请力求准确。 -
应该是int类型数组的Array吗?如果是这样,为了清楚起见,我将更改问题主题。谢谢
-
标题可以只写
int[][]。每个人都知道这意味着什么。 -
自动拆箱...
-
我现在可以编写将 2D 列表转换为 1D/2D 数组的方法,反之亦然,还有更多围绕列表、数组等的转换方法。我学到的东西远远超出了这个问题的范围.非常感谢为这个问题做出贡献的每个人。
标签: java arrays multidimensional-array integer