数组到数组的列表

时间:2016-01-27 13:17:37

标签: java arrays

我有一个整数数组列表。我想将其转换为整数数组的数组,但在使用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)。如果我不知道怎么办?感谢

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();