在Java中创建/初始化类似Struct的对象数组

时间:2013-09-01 00:50:32

标签: java c arrays

我在NetBeans 7.3.1上使用Java SE。

我想在C

中形成类似于以下内容的Java数组
typedef struct sNewStruct{
    int min;
    int max;
} NewStruct;

NewStruct nsVar[19];

我尝试了以下

class IntRange{
    int min, max;    
}
IntRange[]  rangeNodes = new IntRange[19];

我的问题是,当rangeNodes成功分配时,它的所有元素都是空的。

2 个答案:

答案 0 :(得分:4)

它应该如何表现。 Java不会猜测数组应该填充用零参数构造函数实例化的元素。如果要填充数组,只需添加:

for (int i = 0; i < rangeNodes.length; i++)
    rangeNodes[i] = new IntRange();

您可以显式初始化每个元素,但这是最干净的解决方案。

答案 1 :(得分:2)

正如@ccKep建议的那样,你必须为数组中的每个元素赋值:

for(int i = 0; i < rangeNodes.length; i++)
    rangeNodes[i] = new IntRange();