[Ljava.lang.String;@3e5084c9:是一个字符串数组的字节码表示

[Ljava.lang.String;@3e5084c9:是一个字符串数组的字节码表示

打印一个字符串数组的话,会发现

1 String[] arr = new String[10];
2 
3 // String[] arr = {"yanggb", "huangq"};
4 
5 System.out.println(arr); // [Ljava.lang.String;@3e5084c9

 这里直接打印了数组名,因为数组是引用数据类型,数组名是数组的管理者,而非所有者。

下面是打印出来的数组名([Ljava.lang.String;@3e5084c9)的含义解释。

【[】:表示一维数组 。

【[[】:表示二维数组 。

【L】:表示一个对象 。

【java.lang.String】:表示对象的类型 。

【@】:后面表示该对象的hashCode。

因此访问数组元素时,需要另外使用for循环遍历数组,不能直接通过数组名访问所有数组元素。 

原文链接:

https://www.cnblogs.com/yanggb/p/11504471.html

声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,转载请指明出处!

原文地址:https://www.cnblogs.com/zhihuifan10/p/12100408.html