编程时,发现一个问题:
当我想将一个字符数组(char[])转化为字符串(String)时,我使用了toString方法。
结果输入了如下的奇怪字符串:
[C@2a139a55
但是实际上这个字符数组是这样的****cdfswz (*表示空格)。
使用其他方式来实现字符数组->String
1.new String(字符数组)
2.String.valueOf(字符数组)
3.遍历字符数组,String s = s+char[i];这种方式
猜想为什么会出现上述结果呢? 可能是字符数组的toString方法并没有复写继承自Object中的toString。
那么该字符串应当是 数据类型+hashCode()--> [C@2a139a55
char[]从帮助手册中查不到,所以只能推测。
更新:
cahr[]是数组,又不是类,肯定不会重写方法 输出的的字符串应该是内存地址