空数组自动初始化内容?

2023-12-03

How come

int alone;
System.out.println(alone);

给出错误但是

 int[] arr = new int[1];
 System.out.println(arr[0]);

等于0? 当你初始化一个空数组时,它是否会自动将其内容初始化为0(或null等)?


From 语言标准

否则,将创建指定长度的一维数组,并将数组的每个组件初始化为其默认值(§4.12.5).

默认值是:

  • 对于 byte 类型,默认值为零,即 (byte)0 的值。

  • 对于short 类型,默认值为零,即(short)0 的值。

  • 对于 int 类型,默认值为零,即 0。

  • 对于 long 类型,默认值为零,即 0L。

  • 对于 float 类型,默认值为正零,即 0.0f。

  • 对于 double 类型,默认值为正零,即 0.0d。

  • 对于 char 类型,默认值为空字符,即“\u0000”。

  • 对于布尔类型,默认值为 false。

  • 对于所有参考类型(§4.3),默认值为空。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

空数组自动初始化内容? 的相关文章

随机推荐