什么是更有效的 StringBuffer new() 或 delete(0, sb.length())?
人们经常认为,避免创建对象(特别是在循环中)被认为是很好的做法。
那么,什么是最有效的?StringBuffer
StringBuffer sb = new StringBuffer();
ObjectInputStream ois = ...;
for (int i=0;i<1000;i++) {
for (j=0;i<10;j++) {
sb.append(ois.readUTF());
}
...
// Which option is the most efficient?
sb = new StringBuffer(); // new StringBuffer instance?
sb.delete(0,sb.length()); // or deleting content?
}
我的意思是,有人可能会争辩说,创建一个对象比循环通过数组更快。