char[]中的Java toString方法

char[]中的Java toString方法,java,tostring,arrays,Java,Tostring,Arrays,我原以为toString方法会将一个char数组转换成一个字符串,但我错了 char[] k=new char[2]; k[0]='k'; k[1]='k'; System.out.println(k.toString()); 此代码将输出:[C@112f614. 这个代码k.toString()到底发生了什么 我应该永远不要在char数组中调用toString方法吗 谢谢 新年快乐!字符串可以使用字符数组作为构造函数 String s = new String

我原以为toString方法会将一个char数组转换成一个字符串,但我错了

    char[] k=new char[2];
    k[0]='k';
    k[1]='k';
    System.out.println(k.toString());
此代码将输出:[C@112f614.

这个代码k.toString()到底发生了什么

我应该永远不要在char数组中调用toString方法吗

谢谢


新年快乐!

字符串可以使用字符数组作为构造函数

String s = new String(k);

您希望使用Arrays.toString(char[]{'a','b'})


你可以用

char data[] = {'a', 'b', 'c'};
     String str = new String(data);
参见javadoc

公共字符串(char[]值) 分配一个新字符串,以便 表示当前包含在中的字符序列 字符数组参数。字符数组的内容为 已复制;对字符数组的后续修改不会影响 新创建的字符串。参数:value-字符串的初始值 串

在数组上调用toString将从Object调用toString方法。该方法将返回哈希代码

public String toString()返回 通常,toString方法返回一个 “文本表示”此对象。结果应该是一个简洁但 信息量大,易于阅读。它是 建议所有子类重写此方法。toString 类对象的方法返回一个字符串,该字符串由 对象是其实例的类,符号为“@”, 和的哈希代码的无符号十六进制表示形式 换句话说,此方法返回的字符串等于 价值:

getClass().getName()+'@'+Integer.toHexString(hashCode())
返回:对象的字符串表示形式


您可能永远都不应该在任何类型的数组上调用toString。该类有许多用于创建数组的字符串表示的实用方法。

这个问题的部分答案是:“这段代码k.toString()中到底发生了什么?”

toString()从java.lang.Object继承而来,不被重写。实现只需打印规范类名加上@字母加上哈希代码。仅此而已。因此,调用此方法对应用程序没有用处,只是为了在IDE中进行调试,以至少了解存在哪种类型的对象

在这段代码k.toString()中到底发生了什么?我应该永远不要在char数组中调用toString方法吗


char数组的toString方法继承了Object的默认toString行为,即只打印从该对象在内存中的位置派生的唯一标识符。因此,除非您需要该唯一标识符,否则调用k.toString()没有多大意义。(k是您的char数组)

因为数组是对象。所以调用
toString()
结果调用从对象类继承的
toString()
方法:

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
[C@112f614
[C
表示它是一个字符数组


如果您想打印数组的内容,请在键入问题标题时使用

,它会弹出几个已经回答了这个问题的现有标题,然后它们会再次列在这个屏幕的右侧。数组上的字符串将返回数组的内存地址。这就是您显示的
在代码是k.toString()?我应该永远不要在char数组中调用toString方法吗?
这不能回答这两个问题。这不能编译。为什么这里的down投票是出于兴趣?可能是因为我在用python思考,省略了新的运算符。我的错误。修复了。不清楚OP是否真正想要这样做,也没有回答关于wh的问题y
toString()
执行它在数组中调用时的操作。
此代码中到底发生了什么k.toString()?我是否应该永远在字符数组中调用toString方法?
这不会回答这两个问题这假设用户想要“['k','k]”作为输出。如果他们想要“kk”,则需要使用字符串构造函数获取字符数组。