1

以下は私の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 String(chars)

できます。誰かその理由を教えてください。ありがとう

4

3 に答える 3

0

toString()オブジェクトの文字列表現を返します。あなたはそれをオブジェクトの説明として見ることができます。 配列の内容を示しnew String(chars)ます。Stringchar

toString()ユーザーまたはログでオブジェクトを表現する場合に使用し、配列のコンテンツと同じオブジェクトnew String()を取得する場合に使用しますString

于 2013-01-05T18:32:56.400 に答える
0

Java文字列のコンストラクタの中には、文字配列を受け入れるコンストラクタがあることに注意してください。それはあなたが期待するように文字配列を文字列に変換します、そしてそれはあなたがしていることのための正しい選択です。

于 2013-01-05T19:16:56.600 に答える