我想使用Java中的toString()方法将字符数组转换为字符串对象。这是我使用的测试代码的片段:
import java.util.Arrays; class toString{ public static void main(String[] args){ char[] Array = {'a', 'b', 'c', 'd', 'e', 'f'}; System.out.println(Array.toString()); } }
原则上,它应该打印abcdef,但是每次程序执行时它都打印[C @ 6e1408或[C @ e53108]之类的乱码。我不需要替代方案,但想知道为什么会这样。
为了使人可读toString(),你必须使用Arrays.toString(),例如:
toString()
Arrays.toString()
System.out.println(Arrays.toString(Array));
Java的toString()数组是print [,其后是代表数组元素类型的字符(在你的情况下C为char),然后@是数组的“身份哈希码”(想像它就像是一个“内存地址” )。
print [
C
char
这种可悲的状况通常被认为是Java的“错误”