如果我做的:这是否会使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