Android / Java附加String + int

时间:2010-06-05 00:28:33

标签: java android string

我有一个问题,是什么是追加int和Strings来构建新String的最佳方法?在分配调试工具中,如果我使用operator +,我会看到太多的分配。

但我也尝试使用StringBuffer,但仍有太多的分配。

任何人都可以帮助我?

由于

2 个答案:

答案 0 :(得分:13)

使用StringBuilderStringBuffer但具有足够的初始容量以避免重新分配。默认容量为16,因此一旦超过该容量,就必须将数据复制到更大的新位置。使用append而非+

int integer = 5;

StringBuilder s = new StringBuilder(100);
s.append("something");
s.append(integer);
s.append("more text");

将预先分配100个广告位。

参考:http://developer.android.com/reference/java/lang/StringBuilder.html

答案 1 :(得分:0)

您已指定需要创建“新字符串”,如果您要创建更多对象,则应该能够优化它们。

注意:可以删除所有分配,但只能在您创建的字符串的整个生命周期中传递StringBuilder或类似内容。根据您的使用方式,这可能会也可能不会很简单。