我一直想知道在Java中創建String的最有效方法是什麼。由此我的意思是不會改變價值的字符串。關於池的Java String最佳實踐
例子:
String prefix = "Hi, I am ";
的prefix
不會改變,但後綴的威力。
我不想讓
prefix
一個static final
變量,因爲它會永遠留在活着的JVM即使類是很少使用...喇嘛喇嘛。,當我做到以下幾點:
String fullWord = ("Hi, I am "+_postFix);
我猜測的
"Hi, I am"
字符串值將保持在java字符串處理池,我沒有宣佈前綴的「開銷」作爲一個變量。
含義,我的問題歸結爲:
將java字符串處理池始終使用時,當我不使用
new
關鍵字來聲明一個String變量?在使用它之前將String聲明爲變量是否更好?
字符串池如何工作? JVM是否檢測到經常使用相同的字符串值並在JVM內存中始終引用該字符串?
關於你的第一句話:字符串永遠不會改變它們的值,它們是不可改變的。對他們的引用可能會改變,就是這樣。 – 2010-09-20 12:52:05