人們常常認爲避免創建對象(特別是在循環)被認爲是很好的做法。什麼是更高效的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?
}
我的意思是,人們可能會爭辯說,創建一個對象比在數組中循環更快。
您是否在探查器中測試過它?結果是什麼? –
參見http://codereview.stackexchange.com/questions/7575/reusing-stringbuilder-or-creating-a-new-one – Flow