gpt4 book ai didi

java - Java 如何处理由对象组成的初始化数组?

转载 作者:行者123 更新时间:2023-11-30 08:20:22 24 4
gpt4 key购买 nike

我正在学习 Java,对于我正在创建的特定应用程序,我正在初始化一个二维对象数组。初始化时占用数组的特定对象会在其无参数构造函数中更改多个变量。我想知道当声明数组时,java 是否初始化数组所有元素中的每个变量:

private Piece positions[][]=new Piece[8][8];

或者有必要这样做吗?

for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
Positions[i][j]=new Piece();

感谢您的帮助!

最佳答案

Java 会将数组中元素的值初始化为数据类型的默认值。

JLS, Section 4.12.5 , 涵盖默认值:

Each class variable, instance variable, or array component is initialized with a default value when it is created (§15.9, §15.10.2):

  • For type byte, the default value is zero, that is, the value of (byte)0.

  • For type short, the default value is zero, that is, the value of (short)0.

  • For type int, the default value is zero, that is, 0.

  • For type long, the default value is zero, that is, 0L.

  • For type float, the default value is positive zero, that is, 0.0f.

  • For type double, the default value is positive zero, that is, 0.0d.

  • For type char, the default value is the null character, that is, '\u0000'.

  • For type boolean, the default value is false.

  • For all reference types (§4.3), the default value is null.

对于基本类型,这是 0false,对于引用类型,默认值为 null。所以是的,您需要像在上一个代码示例中一样使用 new 初始化每个元素,否则它将为 null

关于java - Java 如何处理由对象组成的初始化数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26131718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com