StringBuilder需要添加多少个字符串才能提高效率
本文关键字:字符串 提高效率 多少 添加 StringBuilder | 更新日期: 2023-09-27 18:11:10
可能重复:
Stringbuilder与String.Concat
据我所知,字符串是不可变的,所以如果您执行"one " + "two"
,而不是重用这两个字符串的内存,则会创建一个值为"一二"的新字符串。如果你做了这样的事情,这就成了一个问题:
String output = "";
for (int i = 0; i < 20; i++){
output = output + ii.toString();
}
因为创建并丢弃了19个(或39?(字符串以产生最终所需的输出。
字符串生成器是可变的,因此您可以高效地将字符串添加到一起,然后在完成后将它们转换为字符串。
我认为在创建字符串生成器时会有一些开销,而且今天使用的聪明编译器也会优化掉许多字符串添加问题。所以我的问题是:在使用StringBuilder变得更高效之前,我需要添加多少字符串?还是我的假设不正确?
这个问题的答案-StringBuilder比字符串串联使用更多的内存吗?-"几十个"州是门槛。
这个问题的另一个答案是这个链接-http://www.codinghorror.com/blog/2009/01/the-sad-tragedy-of-micro-optimization-theater.html-结尾是"没关系"!