java代码中的toString
以下是我的java代码片段:java代码中的toString,java,string,Java,String,以下是我的java代码片段: static String sortChars(String s) { char[] chars = s.toCharArray(); Arrays.sort(chars); return chars.toString(); } 我使用以下命令调用上述函数: String result = sortChars(s); 但结果并不符合我的期望:例如,s=“are”,result=“aer”。但是,当我使用: return new Strin
static String sortChars(String s) {
char[] chars = s.toCharArray();
Arrays.sort(chars);
return chars.toString();
}
我使用以下命令调用上述函数:
String result = sortChars(s);
但结果并不符合我的期望:例如,s=“are”,result=“aer”。但是,当我使用:
return new String(chars)
它起作用了。
谁能告诉我原因吗。谢谢因为
char[]
类没有覆盖默认的对象的toString()
实现,所以它不会返回由char数组中的字符组成的字符串,而是返回char[]类名+哈希代码。例如:arr[C@19821f
由于char[]
类不会覆盖默认的对象的toString()
实现,因此它不会返回由char数组中的字符组成的字符串,而是返回char[]类名+哈希代码[C@19821f
toString()
返回对象的字符串表示形式。您可以将其视为对象的描述。
newstring(chars)
将为您提供一个包含char
数组内容的String
使用toString()
如果要向用户或在日志中表示对象,请使用new String()
如果要获取与数组内容相同的String
对象toString()
返回对象的字符串表示。您可以将其视为对象的描述。
newstring(chars)
将为您提供一个包含char
数组内容的String
使用toString()
如果要向用户或在日志中表示对象,请使用new String()
如果希望获得与数组内容相同的字符串
对象请注意,在Java字符串的构造函数中,有一个接受字符数组。它会按照预期将字符数组转换为字符串,这是执行操作的正确选择。请注意,在Java字符串的构造函数是一个接受字符数组的构造函数。它将字符数组转换为您所期望的字符串,这是您所做操作的正确选择。您的期望值是什么?您的期望值是什么?值得一提的问题是,数组是一个对象
并且不会覆盖toString()
因此您得到了创建输出的Object.toString()
。FWIW所有数组类型都没有toString,这就是为什么在java.util.Arrays
class.Prob中存在实用方法的原因。值得一提的是,数组是对象
并且不重写toString()
因此您得到了Object.toString()
,这就是创建输出的原因。FWIW所有数组类型都没有toString,这就是为什么java.util.Arrays
类中存在实用方法的原因。