【发布时间】:2014-12-01 19:26:58
【问题描述】:
以下是否会降低append 方法的性能以及在append 中创建了多少String 对象?
long[] numbers = new long[20];
StringBuffer result = new StringBuffer(20);
for (int i = 0; i <= max; i++) {
result.append(numbers[i] + " ");
}
System.out.println(result);
我的意思是如果字符串是不可变的,append 方法应该为numbers[i] 创建一个,然后为空间" " 创建另一个,将它们组合成最后一个并垃圾收集这两个?我错了吗 ?加号在这里是过度杀伤还是我应该使用以下内容:
for (int i = 0; i <= max; i++) {
result.append(numbers[i]);
result.append(" ");
}
【问题讨论】:
-
你几乎回答了你自己的问题:)。第二个 sn-p 绝对是要走的路。
-
后者会更好:)
标签: java string stringbuffer