如果我构建:
Object[][] guy = new Object[5][4];
Run Code Online (Sandbox Code Playgroud)
我的数组中的斑点有默认值吗?他们是空的吗?
有没有办法为数组中的每个点分配默认值?
Phi*_*ler 10
是的,新数组中的字段在Java中初始化为null.
您可以使用该方法Arrays.fill()填充具有特定值的数组中的所有字段.
如果你有一个短长度的数组,你静态知道要放什么,你可以使用数组初始化器:
Object[][] guy = { { obj1, obj2, null, obj3 }, { ... }, ... };
Run Code Online (Sandbox Code Playgroud)
你必须为所有字段输出完整的数组(在你的情况下为20),所以如果你想在每个地方放置相同的值,fill()可能会更方便.
btw的原始类型的数组.使用0的各种变体初始化,并使用false布尔数组(只要不使用初始化程序).对于数组初始化规则是相同的字段的初始化,可以发现这里的Java语言规范.
现有答案都是正确的,但在您的特定示例中有一点要添加.尽管参考数组默认为null,但多维数组具有隐含地创建的第一维.
例如,在您的情况下,第一个维度不为null,但实际上将指向另一个数组:
Object[][] guy = new Object[5][4];
System.out.println(guy[0]);
--> Output will be [Ljava.lang.Object;@5e743399
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9344 次 |
| 最近记录: |