2012-10-04 47 views
0

如何創建一個字符串變量的克隆?如何創建一個字符串變量的克隆?

有一個字符串變量說str的

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

那麼,如何可以在該行中複製的屬性值的字符串,這樣我可以顯示值,即使該行已經從擦除記憶。

謝謝。

+15

爲什麼你想克隆一個不可變的字符串? –

+3

你是在談論對String還是對象本身的引用? –

+0

該問題已被編輯。 –

回答

6

你可以做

String newString = new String(oldString); 

但是,什麼是你的理由,克隆一個不可變的字符串?

我只在使用substring獲得我的字符串時,纔想從原始字符串中修剪多餘的隱藏字符。

關於你編輯:

如果你

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

然後str仍包含完全相同的價值,你摧毀row或更改的row屬性「屬性」,甚至後。你不需要克隆它。事實上,你保留一個參考(變量str)它保持它免受包袱的危害。

1

在Java中,String對象是不可變的。這意味着它不會在您之下改變,因此您可以安全地在整個程序中使用相同的參考。

如果您修改String(通過追加,修剪等),則會創建一個新的不可變對象。所以在這種情況下克隆的概念是多餘的。

相關問題