如果我做的:這是否會使StringBuilder冗餘?
StringBuilder sb = new StringBuilder();
sb.append("somestring" + "hello" + "more strings" + "last one");
的是,同樣爲:
string s = "somestring";
s + "hello" + "more strings" + "last one";
難道讓使用字符串生成器沒有意義?因此需要使用:
StringBuilder sb = new StringBuilder();
sb.append("somestring");
sb.append("hello");
sb.append("more strings");
sb.append("last one");
這不是更有效率。由於常數摺疊,'+'運算符對於常量更有效。編譯器無法以這種方式優化方法調用,因此'StringBuilder'將始終在運行時附加。在編譯期間,附加了'+'的常量將被優化爲單個字符串常量。 – 2012-04-10 07:56:10