0

文字列変数のクローンを作成するにはどうすればよいですか?

strという文字列変数があります

String str = row.getAttribute("Attribute");

行がメモリから消去された場合でも値を表示できるように、行の属性の値を文字列にコピーするにはどうすればよいですか。

ありがとう。

4

2 に答える 2

6

できるよ

String newString = new String(oldString);

しかし、不変の文字列を複製する理由は何ですか?

を使用して文字列を取得したときに、元の文字列から余分な隠し文字を削除したい場合にのみこれを行いますsubstring

編集について:

もしあなたがそうするなら

String str = row.getAttribute("Attribute");

を破棄した後、または の属性「属性」を変更したstr後でも、まったく同じ値が含まれます。クローンする必要はありません。それへの参照(変数)を保持するという事実は、ガベージから安全に保ちます。rowrowstr

于 2012-10-04T10:59:49.133 に答える
1

Java では、Stringオブジェクトは不変です。つまり、あなたの下では変更されないため、プログラム全体で同じ参照を安全に使用できます。

String(追加、トリミングなどを介して)を修正すると、新しい不変オブジェクトが作成されます。したがって、このシナリオでは複製の概念は冗長です。

于 2012-10-04T11:05:04.963 に答える