数组的第二维无法初始化 - Java

时间:2013-11-28 02:22:45

标签: java arrays multidimensional-array initialization

我很遗憾地提出这样一个基本问题,但我自己也看不到我的代码在哪里出现问题。我试图定义一个二维对象数组,据我所知,代码无法注册第二个维度。因此,稍后的代码无法在数组中指定二维索引,因为第二维仅作为空数量存在。

我在这里感觉非常愚蠢。我不得不想象我的错误是非常基本的,因为没有足够的代码来细致入微,但我看不到它!我很感激你能给我的任何帮助,把我明显的盲目眼光集中在这个问题上。

这是我的代码:

int x = 17;
Object[][] 2Darr = new Object[50][x];

运行此代码会生成一个定义为[50] []的数组。

3 个答案:

答案 0 :(得分:1)

java中没有这样的二维数组。只有数组数组。你能做的是

Object[][] arr = new Object[50][];
arr[0] = new Object[5]; // zeroth element of arr with value as an array of 5 elements
arr[1] = new Object[7]; // first element of arr with value as an array of 7 elements

答案 1 :(得分:1)

如果我在Eclipse中运行它

int six = 6;
String [][] arr = new String [5][six];

然后在我看到的调试器中查看数组:

[[null, null, null, null, null, null], [null, null, null, null, null, null], [null, null, null, null, null, null], [null, null, null, null, null, null], [null, null, null, null, null, null]]

所以我认为这可以按照我的预期运作。

答案 2 :(得分:0)

你不需要int x = 17;下面的代码足以在java中创建二维数组。 Object [] [] 2Darr = new Object [50] []; 这可能是Syntax for creating a two-dimensional array

的重复