在Java中创建一个填充零的int数组

25

我想创建一个10维的零数组。

如果我简单地使用int[] array = new int[10];,我能保证数组中所有的int都是0吗?


4
一个10维数组:int[][][][][][][][][][] array; 和一个有10个元素的1维数组 new int[10] 不是同一种东西。 - Ishtar
7
为了为他辩护,你可以用10个元素来表示一个10维向量。虽然术语不太准确,但问题的意思很明确。 - Andrew White
3个回答

54

int类型的初始值始终为0。因此:

new int[10] 

已足够。

对于其他值,请使用Arrays实用工具类。

   int arrayDefaultedToTen[] = new int[100]; 

   Arrays.fill(arrayDefaultedToTen, 10);

这个方法会用第二个参数10来填充数组(第一个参数)。


3

是的,但它只是一维的,而不是十维的。


2
如果我计算正确的话,一个在所有维度上大小为10的十维数组将需要37GB的内存。 - Michael Borgwardt
我计算 10^9 * (8(引用)+ 16(数组头)+ 10*4),大约是60 GB。 ;) - Peter Lawrey
或者...它是一个可以容纳32个可枚举状态的十维数组 :) - Andrew White

2

真正的权威是JLS 15.10.1(第5段)。 - Stephen C
我找了一下,但没能很快找到链接,所以觉得Oracle已经足够权威了;不过还是谢谢提供规范。 - Andrew White

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接