栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

直接打印数组名出来的一串字符串的意思

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

直接打印数组名出来的一串字符串的意思

我们都只到数组是什么,当我们定义一个数组的时候并且不初始化:

int[] arr=new int[5]
System.out.println(arr);

当我们打印输出数组的时候往往会出现这样一串字符:

//[I@10f87f48

那这串字符代表什么意思呢?
@:仅仅代表分隔符的意思他把前后两个字符串分割开来
@前面字符串的意思:
[:代表的是数组的意思
I:代表的是int类型的意思
10f87f48:是十六进制内存地址的意思
当我们要对一个数组进行操作的时候时候,数组的变量名,也就是上面的arr就会根据这串内存地址,找到我们所定义的数组的位置,从而对数组进行操作.(我们可以把定义的数组理解成一个盒子,变量名就是领路人,它帮我们在庞大的内存中找到我们所定义的盒子,帮我们从盒子里面取值或赋值)

经过上面的解释,在来练习一下吧:[B@27716f4的意思是?
首先分隔符前面:
[:是数组的意思
B:是byte的意思
27716f4:是十六位内存地址的意思

 byte[] arr=new byte[4];
        System.out.println(arr);

大家会了吗
对了补充一个知识点,当你定义一个char类型的数组,并且不初始化时是不会直接打出内存地址的!!!!!!!!!!!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288424.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号