将数组存储在2d数组Java中

时间:2013-12-16 22:35:10

标签: java arrays boolean multidimensional-array

那么为什么这不起作用?不确定为什么这是不可能的 - 我只想在2d数组中存储大小为2的数组。

我知道这相当于设置存储[0] [0] =数组[0]和存储[0] [1] =数组[1],但只是想知道为什么这是不正确的。

public class Test {

    public static void main(String[] args) {
        boolean[][] storage = new boolean[10][2];
        boolean[] array = new boolean[2];
        array[0] = true;
        array[1] = false;

        storage[0][] = array; //Why can't I do this?
    }
}

提前致谢

3 个答案:

答案 0 :(得分:3)

你的作业中有一对支架。只需使用

storage[0] = array;

答案 1 :(得分:0)

首先,boolean[][] storage = new boolean[10][2]声明一个数组并初始化它。

所以,你创建了11个数组。其中一个boolean[]元素类型和10个boolean type

这很好,如果你想直接访问它的成员,但如果你最近使用new boolean[]创建一个内部数组,那就是一个开销。

改为使用boolean[][] storage = new boolean[10][];

然后,您可以访问boolean[]类型的元素,并将数组分配给它。

storage[0] = array;

答案 2 :(得分:0)

你的问题是流浪的方括号(我相信你知道)。您的代码应如下所示:

storage[0] = array;

之前的答案并没有真正解释为什么,所以这就是我要做的。

您尝试做的是让第一个位置(storage[0])保持与array相同的值。 array是1维的,因此它只能是storage part ,这是2维。