我对 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/