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

来源: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. Linux系统与我之间的故事
  2. 产品经理经常使用工具
  3. 4G EPS 的网络协议栈
  4. 【IOC 控制反转】Android 视图依赖注入 ( 视图依赖注入步骤 | 视图依赖注入代码示例 )
  5. 数据库系统工程师5天修炼_程序员逆袭之路,5年IT人生从电脑装机到技术大神,人生不认输...
  6. Redis在Java项目中的依赖
  7. 光模块组装过程中常见问题分析及解决方法
  8. python 基础复习
  9. 100本Python机器学习、深度学习电子书,免费送!
  10. LynxFly科研小四轴横空出世,开源,F4,WIFI
  11. oralce 12c集群 ora-01033
  12. 路由器组成及路由器发展概述
  13. 计算机网络中表征数据传输有效性的指标是,表征数据传输有效性的指标是
  14. 怎么用c语言让电脑定时开关机,电脑定时开关机,教您怎么设置电脑定时开关机...
  15. ORACLE中的INTERVAL
  16. NoSQL和MemeryCache的出现意味着传统数据库使用方式的变革吗?(arvin-推荐--看评论)
  17. 怎么让抖音快速涨粉之抖音数据分析
  18. Unity之Failed to import package with error: Couldn‘t decompress package
  19. CMOS图像传感器 - 原理介绍
  20. 局域网语音对讲系统_IP广播对讲系统停车场解决方案

热门文章

  1. 京东拼多多全面封杀电子烟,淘宝仍正常销售...
  2. 联想YOGA四款新品齐发 跨设备新技术Lenovo One惊艳亮相
  3. 突然!新锤子手机系统现身:这是另起炉灶了?
  4. iPhone8已跌至三千元档,迫不及待的入手了一部
  5. 三星S10国行版发布 竟比国际版便宜?折叠屏手机也同期亮相
  6. 苹果罕见人事大调整:多个项目被迫暂停 员工“惊慌失措”
  7. mysql导入查询失败_mysql数据库中的查询失败
  8. Flash发布iOS应用全攻略(二)——如何成为一个合法的iOS开发者
  9. 在制作html页面时,在制作Xhtml页面时是先写HTML代码还是先写CSS代码
  10. linux6添加chkconfig管理,Linux系统管理初步(七)系统服务管理、chkconfig与systemd 编辑中...