为什么toString方法返回jibberish?
char[] arrays = {'a','b','c'};
{ a, b, c }
arrays.toString()
"[C@6519ceb1"
答案 0 :(得分:6)
您所看到的是数组对象的字符串表示形式为Object
。 (所有对象的toString()
的默认行为是打印对象引用的表示。您不能覆盖该数组的行为。)获取数组的内容的字符串表示形式,您需要将字符数组传递给String
构造函数:
char[] arrays = {'a','b','c'};
String s = new String(arrays); // "abc"
或(取决于您要完成的任务)使用
String s = java.util.Arrays.toString(arrays); // "[a,b,c]"
答案 1 :(得分:1)
char[] arrays = {'a','b','c'};
System.out.println(Arrays.toString(arrays));
这是使用java.util.Arrays 可以找到实施
默认情况下,它使用Object类的toString实现
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}