java - Java中打印方法的混淆

标签 java arrays

每当我尝试将 char 数组打印到控制台时,我都会得到整数格式的结果,但每当我尝试将整数数组打印到控制台时,我都会得到哈希码格式的结果。谁能告诉我为什么?

char[] arr={'4','5','6'};
System.out.println(arr); //456

int[] arr={4,5,6};
System.out.println(arr) //[I@3e25a5]

最佳答案

java.io.PrintStream(System.out 的类)有一个特殊的 print-method for char[] ,但不适用于 int[]。所以对于 char[],使用了这个特殊的方法,而 int[] 是通过通用版本打印的,它打印哈希码(或者更准确地说, String.valueOf() 以对象作为参数调用的结果。

关于java - Java中打印方法的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2274654/

相关文章:

java - 在 hibernate 中加入复合主键的某个属性

arrays - 对数组的 Swift 对象引用?

Javascript 数组为项目返回不正确的值?

javascript - Facebook 时间轴 : Javascript iterate over multiple arrays and output them all in a staggered manner

javascript - 为什么reduce()的第一个参数返回未定义?

java - 如何使用gradle构建jar文件

java - 读取联系人仅显示电子邮件存储中的联系人

java - struts2-jquery 迭代器中对话框的唯一 ID

c - 如何正确声明此功能?

java - Web 应用程序的已安装程序/计算机信息