オブジェクトの作成(特にループ内)を回避することは良い習慣と見なされるとよく言われます。
それでは、何が最も効率的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?
}
つまり、オブジェクトの作成は配列をループするよりも高速であると主張することができます。