如何在Java中初始化一个长度为100字节的字节数组,使其所有元素都为0?

60
如何在Java中使用所有0初始化100字节的字节数组。我想创建100字节的字节数组并将其初始化为全0。
6个回答

117
一个新的字节数组会自动初始化为全零。你不需要做任何事情。
更一般的初始化其他值的方法是使用Arrays类。
import java.util.Arrays;

byte[] bytes = new byte[100];
Arrays.fill( bytes, (byte) 1 );

13
除非您怀疑已更改数组的内容,否则使用Arrays.fill是多余的。 - Peter Lawrey
30
@PeterLawrey 我明白这一点,而且我认为其他5个回答也清楚地表达了这一点。然而,对于从搜索引擎跳转到这里的人来说,他们可能想要用1或其他值来初始化它。 - wolfcastle
4
你说得没错,但为什么不在你的回答中更清楚地说明呢?例如,添加注释:"这些字节已经被初始化为0,但如果你想将它们初始化为其他值,比如1,那么可以使用Arrays.fill(bytes, (byte)1);" - eepty

38

只需要创建一个new byte[100],默认情况下它将被初始化为0。


21
byte [] arr = new byte[100] 
每个元素默认为0。
你可以在这里找到原始默认值:这里
Data Type   Default Value
byte        0
short       0
int         0
long        0L
float       0.0f
double      0.0d
char        '\u0000'
boolean     false

9
byte[] bytes = new byte[100];

使用默认值初始化所有字节元素,对于字节而言,默认值为0。实际上,当构建数组时,所有元素都会被初始化为该数组元素类型的默认值。


3
任何基本类型数组的默认元素值已经是零:对于布尔值,是false

2

实际上,byte 的默认值是 0。


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