java - 显示不同数组类型的值

标签 java arrays outputstream

我对 Java 中数组的输出有疑问。 所以,当我有这段代码时:

char[] chars = new char[] {'a', 'b', 'c'};
System.out.println(chars);

则输出为:abc

我知道数组是 Java 中的对象。所以我认为 toString() 方法会在这里被调用?

但是如果我有这段代码:

int[] ints = new int[] {3, 4, 5};
System.out.println(ints);

那么输出是:[I@1540e19d

为什么第一个代码有效而第二个代码无效? 我知道我可以在 Arrays 类中调用静态方法 toString(),但这不是我要找的答案。

你能帮帮我吗,为什么 Java 开发人员使用不同的技术来显示数组的值?

最佳答案

查看println方法的方法签名:

println(char [] x)存在: 该方法根据系统的字符编码将每个字符转换成字节值并全部打印

但是不存在任何接受整数数组的方法。

相反,通用的 println(Object x)方法被调用

关于java - 显示不同数组类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28925970/

相关文章:

java - 编译器什么时候要求我捕获异常?

java - GoogleMap 显示所有具有正确方位的汽车标记

java - 我应该用什么来跟踪 java 中可变对象的详细信息

javascript - 从 C# 中的输出流返回文本

java - URL连接Inputstream和outputstream对象

java - QT Jambi - QLCD号码实时更新

javascript - XML 在 jquery 中的格式不正确

javascript - 如何消除Flot js时间模式系列中的间隙?

javascript - 如何对 google-polymer 中的 dom-repeat 项目进行排序

android - 在 Android 中使用 ClassLoader 动态加载类作为字节数组