Java 中不常见的数组“ToString()”
在 Java 中,toString() 方法有望提供有用的人类可读的方法对象的字符串表示。然而,在处理数组时,这种期望并不成立。
数组 ToString() 的特殊性
考虑以下代码:
char[] Array = {'a', 'b', 'c', 'd', 'e', 'f'}; System.out.println(Array.toString());
这段代码打印出乱码,而不是返回预期的字符串“abcdef” “[C@6e1408”或“[C@e53108。”
出现此行为是因为 Java 的默认数组 toString() 实现会生成一个神秘字符串,其中包含:
解决方案
要获取数组的人类可读的字符串表示形式,请使用静态 Arrays.toString() 方法相反:
System.out.println(Arrays.toString(Array));
此方法显式返回所需的“abcdef”字符串。
基本原理
Java 选择使用神秘的 toString( ) 数组的实现通常被视为错误。这种设计背后的意图可能是在调试时优先考虑内存地址,但事实证明,它在日常使用中更令人困惑,而不是有帮助。
以上是为什么 Java 的'toString()”方法会产生数组的隐秘输出?的详细内容。更多信息请关注PHP中文网其他相关文章!