我有一个整数数组列表。我想将其转换为整数数组的数组,但在使用toArray()
时,我收到错误[Ljava.lang.Object; cannot be cast to [[I
我做错了什么?感谢
public int[][] getCells() {
List<int[]> cells = new ArrayList<>();
for (int y = this.y0; y <= this.y1 ; y++) {
for (int x = this.x0; x <= this.x1 ; x++) {
cells.add(new int[]{x, y});
}
}
return (int[][]) cells.toArray();
}
修改
我已经看到,在这种情况下,我可以将其转换为:
return cells.toArray(new int[cells.size()][2]);
但仅仅因为所有整数数组都具有相同的大小(2)。如果我不知道怎么办?感谢
答案 0 :(得分:3)
您需要致电
<div></div>
<div class="red"></div>
<div class="blue"></div>
您的旧通话cells.toArray(new int[cells.size()][])
不起作用,因为这会创建一个对象数组cells.toArray()
,显然无法转换为Object[]
答案 1 :(得分:0)
尝试使用以下内容:
return (int[][])cells.toArray(new int[cells.size()][]);
或者只使用:
return cells.toArray(new int[][]{});
而不是:
return (int[][]) cells.toArray();