首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java如何处理由对象组成的初始化数组?

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

Stack Overflow用户
提问于 2014-09-30 23:14:46
回答 2查看 1.1K关注 0票数 2

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

代码语言:javascript
复制
private Piece positions[][]=new Piece[8][8];

还是有必要这么做?

代码语言:javascript
复制
for(int i=0;i<8;i++){
        for(int j=0;j<8;j++){
            Positions[i][j]=new Piece();

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-30 23:16:30

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

JLS,第4.12.5节包含默认值:

每个类变量、实例变量或数组组件在创建时都会使用默认值初始化(§15.9,§15.10.2):

  • 对于类型字节,默认值为零,即(字节)0的值。
  • 对于类型短,默认值为零,即( short )0的值。
  • 对于int类型,默认值为零,即0。
  • 对于long类型,默认值为零,即0L。
  • 对于浮动类型,默认值为正零,即0.0f。
  • 对于double类型,默认值为正零,即0.0d。
  • 对于char类型,默认值是空字符,即'\u0000‘。
  • 对于布尔类型,默认值为false。
  • 对于所有引用类型(§4.3),默认值为null。

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

票数 3
EN

Stack Overflow用户

发布于 2014-09-30 23:17:44

代码语言:javascript
复制
private Piece positions[][]=new Piece[8][8];

这将初始化由8x8 Piece引用组成的数组,而不是包含的元素。数组将是null-initialized,实际上每个单元格都将包含null

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26131718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档