点击关注公众号,实用技术文章及时了解

来源:blog.csdn.net/qq_33642117/

article/details/52214403

Java 数组的本质是一个Java类,它是通过new语句来实例化,但是这个new语句却不会实例化数组中的对象,我们对它的理解有些偏差。

对于基本类型的数组,在new语句创建数组实例时,会为该数组分配指定长度的内存空间,并把数组的每个元素的初始化为0。那么,引用类型的数组又是如何来创建和初始化这些内存空间的?

其实,引用数据类型的数组也会分配指定长度的内存空间,只不过这些内存空间是用来保存引用的,而不是具体的值,它的初始化值为null。

Object[]obj=new Object[5];

以上代码中,创建了一个Object数组,长度为5,这5个元素的值都是null,然后把创建好的数组实例的引用赋给obj变量。如果需要为这些元素分配具体的对象,则需要分别指定或用{}符号进行初始化,如下所示:

Object[]obj=new Object[]{new Object(),null,null,null,new String("123")};//引用类型的数组

obj[0]=new Object();//数组元素在赋对象引用obj[4]=new String("123");

以上数组实例的内存构成,如图:

总结:

答案为否。其实是创建了一个数组实例,长度为5,每个数组元素的值均为null,并没有创建5个Object对象。如果需要创建5个Object对象,则需要为每个数组元素分别指定或用符号{}。

推荐:

主流Java进阶技术(学习资料分享)

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!

Java 数组中new Object[5]语句是否创建了5个对象?相关推荐

  1. java程序设计专业介绍_简介Java编程中的Object类

    这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下 Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每 ...

  2. 灵魂拷问:如何检查 Java 数组中是否包含某个值 ?

    作者 |  沉默王二 责编 | Elle 在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深 ...

  3. 灵魂拷问:如何检查Java数组中是否包含某个值 ?

    在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下. 另外,我想要告诉大家的是, ...

  4. java 数组包含_灵魂拷问:如何检查 Java 数组中是否包含某个值?

    作者 | 沉默王二 责编 | Elle 在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入 ...

  5. java 奇偶数据排序算法,简单讲解奇偶排序算法及在Java数组中的实现

    简单讲解奇偶排序算法及在Java数组中的实现 奇偶排序是一个比较有个性的排序,基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到全部有序 举例吧, 待排数组 [6 2 4 1 5 9] ...

  6. java 数组中插入元素_Java数组添加元素

    java 数组中插入元素 How to add elements to an array in java We know that java array size is fixed, so we ca ...

  7. java怎么把数据封进对象里_(Java)想把数组中一条一条的数据全部放入对象中去..要怎么做呢...

    展开全部 Java把数组中一条一条的数据全部放入对象中去操作如下: 1.先获取到数组中的数据dataArray数据. 2.接32313133353236313431303231363533e58685 ...

  8. java数组中的内存特征

    java数组中的内存特征(笔记) 1,基本数据类型创建的变量,存储在栈内存中,占用一块内存,是方法中内部的局部变量,数据量比较小,一种临时的使用. 2,引用类型的数据创建的变量,存储在堆内存上,栈内存 ...

  9. java数组中删除元素或一个数组元素

    java数组中删除元素或一个数组元素 删除数组中单个元素 删除数组中多个元素(数组表示) 这里直接介绍两种情况: 1.删除数组中单个元素 2.删除数组中多个元素(数组表示) 删除数组中单个元素 1. ...

最新文章

  1. 通过修改程序解决Vista/Win7/Win8下应用程序兼容性问题
  2. 矩阵运算最快的库有哪些
  3. WCF 第六章 序列化和编码之DataContractJsonSerializer
  4. python 通过什么来判断是否存在分支结构_python通过缩进来判断操作是否在分支结构的方法...
  5. PHP学习笔记--面向对象
  6. HBase之BloomFilter
  7. ebook_[EBOOK]十大Java性能问题
  8. 解决mysql锁表终极方法
  9. 资源放送丨《OGG日常运维及故障处理》PPT视频
  10. Linux基础知识之包管理工具
  11. oracle 故障 linux,從硬盤安裝Oracle Linux 6.3之軟驅故障
  12. Composition API 使用
  13. SDN入门第五篇——交换机与控制器之间的交互流程
  14. vs2008简体中文正式版下载
  15. 与活体检测技术结合的人脸识别技术
  16. 构造IOCTL命令的学习心得-----_IO, _IOR, _IOW, _IOWR 幻数的理解
  17. vue form表单数据提交与 router 按钮快速调用页面
  18. 手把手教你学51单片机-变量进阶与点阵LED
  19. unity5.x游戏开发指南——4、5、6章
  20. c语言奇数阶幻方构造法,奇数阶面幻方的行列式构造法.pdf

热门文章

  1. iOS 13.2“杀后台”严重 被用户狂喷:专业“杀微信”
  2. 又一个停止申请后才知道的功能?QQ至尊保服务“下线” 已试运营三年
  3. 优酷VIP被黑灰产恶意冒领出现BUG 用户疯抢一年VIP
  4. 中兴通讯:已具备完整的5G端到端解决方案的能力
  5. 2019春季发布会后苹果股价一度跌逾2% 盘后微涨0.22%
  6. sqlite3的sql语句用法总结与SQLite生成.db-journal文件问题【原创】
  7. XML---(2)LIBXML2库Linux使用指南
  8. 干货:使用Fastapi开发自己的Mock server(附源码)
  9. 原型 / 构造函数 / 实例/原型链
  10. 下列关于线程调度的叙述中,错误的是()。