Java 数组中new Object[5]语句是否创建了5个对象?
点击关注公众号,实用技术文章及时了解
来源: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个对象?相关推荐
- java程序设计专业介绍_简介Java编程中的Object类
这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下 Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每 ...
- 灵魂拷问:如何检查 Java 数组中是否包含某个值 ?
作者 | 沉默王二 责编 | Elle 在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深 ...
- 灵魂拷问:如何检查Java数组中是否包含某个值 ?
在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下. 另外,我想要告诉大家的是, ...
- java 数组包含_灵魂拷问:如何检查 Java 数组中是否包含某个值?
作者 | 沉默王二 责编 | Elle 在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入 ...
- java 奇偶数据排序算法,简单讲解奇偶排序算法及在Java数组中的实现
简单讲解奇偶排序算法及在Java数组中的实现 奇偶排序是一个比较有个性的排序,基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到全部有序 举例吧, 待排数组 [6 2 4 1 5 9] ...
- java 数组中插入元素_Java数组添加元素
java 数组中插入元素 How to add elements to an array in java We know that java array size is fixed, so we ca ...
- java怎么把数据封进对象里_(Java)想把数组中一条一条的数据全部放入对象中去..要怎么做呢...
展开全部 Java把数组中一条一条的数据全部放入对象中去操作如下: 1.先获取到数组中的数据dataArray数据. 2.接32313133353236313431303231363533e58685 ...
- java数组中的内存特征
java数组中的内存特征(笔记) 1,基本数据类型创建的变量,存储在栈内存中,占用一块内存,是方法中内部的局部变量,数据量比较小,一种临时的使用. 2,引用类型的数据创建的变量,存储在堆内存上,栈内存 ...
- java数组中删除元素或一个数组元素
java数组中删除元素或一个数组元素 删除数组中单个元素 删除数组中多个元素(数组表示) 这里直接介绍两种情况: 1.删除数组中单个元素 2.删除数组中多个元素(数组表示) 删除数组中单个元素 1. ...
最新文章
- Linux系统与我之间的故事
- 产品经理经常使用工具
- 4G EPS 的网络协议栈
- 【IOC 控制反转】Android 视图依赖注入 ( 视图依赖注入步骤 | 视图依赖注入代码示例 )
- 数据库系统工程师5天修炼_程序员逆袭之路,5年IT人生从电脑装机到技术大神,人生不认输...
- Redis在Java项目中的依赖
- 光模块组装过程中常见问题分析及解决方法
- python 基础复习
- 100本Python机器学习、深度学习电子书,免费送!
- LynxFly科研小四轴横空出世,开源,F4,WIFI
- oralce 12c集群 ora-01033
- 路由器组成及路由器发展概述
- 计算机网络中表征数据传输有效性的指标是,表征数据传输有效性的指标是
- 怎么用c语言让电脑定时开关机,电脑定时开关机,教您怎么设置电脑定时开关机...
- ORACLE中的INTERVAL
- NoSQL和MemeryCache的出现意味着传统数据库使用方式的变革吗?(arvin-推荐--看评论)
- 怎么让抖音快速涨粉之抖音数据分析
- Unity之Failed to import package with error: Couldn‘t decompress package
- CMOS图像传感器 - 原理介绍
- 局域网语音对讲系统_IP广播对讲系统停车场解决方案
热门文章
- 京东拼多多全面封杀电子烟,淘宝仍正常销售...
- 联想YOGA四款新品齐发 跨设备新技术Lenovo One惊艳亮相
- 突然!新锤子手机系统现身:这是另起炉灶了?
- iPhone8已跌至三千元档,迫不及待的入手了一部
- 三星S10国行版发布 竟比国际版便宜?折叠屏手机也同期亮相
- 苹果罕见人事大调整:多个项目被迫暂停 员工“惊慌失措”
- mysql导入查询失败_mysql数据库中的查询失败
- Flash发布iOS应用全攻略(二)——如何成为一个合法的iOS开发者
- 在制作html页面时,在制作Xhtml页面时是先写HTML代码还是先写CSS代码
- linux6添加chkconfig管理,Linux系统管理初步(七)系统服务管理、chkconfig与systemd 编辑中...