我知道這個問題已經在許多年前的許多網站上被回答了很多次。:P 我仍然有一些疑問,所以想到發佈這個。 基本的區別在於,String是不可變的,每次我們對String執行任何操作時,都會創建一個新的String對象。在java中的字符串和StringBuffer之間的區別
例如: -
String str = "some"; str = str + " text"
在上述情況下,2個新的字符串獲得創建而不是修改可以通過使用的StringBuffer避免現有STR。
例如: - StringBuffer str = new StringBuffer(); str.append("try"); str.append("this");
我的問題在這裏,追加方法我們再次傳遞一個字符串。在上面的情況下,是否爲String池中的「try」和「this」創建了新的String對象。
從答案貼http://stackoverflow.com/questions/47605/string-concatenation-concat-vs-operator它看起來像 「+」 操作符後盾StringBuilder的。因此,最初的問題可能對舊版本有效。 – user3386493