1

私は持っています

String newStr = "previous"

しばらくして、文字列をに変更したいと思いますnext。今私はすることができます

newStr=getNewString(); // Say getNewString return `next`

不変であると思われるArent文字列。

私がこれを達成できる他の方法はありますか?ありがとう。

編集neww代わりに取るnew

4

3 に答える 3

12

不変であると思われるArent文字列。

文字列は不変です。

文字列への参照は不変である必要はありません。

String s = "hello";
s = "World"; // the reference s changes, not the String.

final String t = "Hi"; // immutable reference
t = "there"; // won't compile.

// immutable reference to a mutable object.
final StringBuilder sb = new StringBuilder();
sb.append("Hi"); // changes the StringBuilder but not the reference to it.
sb = null; // won't compile.
于 2012-08-10T10:22:25.927 に答える
3

文字列は不変です。文字列参照のみを変更しています。

于 2012-08-10T10:24:26.857 に答える
2

Javaの文字列は不変です。変更するのは、文字列自体ではなく、文字列への参照です。

于 2012-08-10T10:22:17.787 に答える