オブジェクトの作成を避けること(特にループ内での)を避けることは良い方法と考えられることがよくあります。より効率的な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