经常有人认为避免在循环中创建对象是一种良好的实践。
那么,关于 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?
}
我的意思是,有人可能会争辩说创建一个对象比遍历一个数组更快。