-2
我有地圖像下面對象的創建在Java運行時的方法,而不使用反射
<key1, ClassAobj>
<key2, ClassBobj>
<key3, ClassCobj>
<key4, ClassDobj>
在地圖對象的數量是未知的。我正在迭代地調用這些對象的方法。
for key in keyset {
stringbuilder.append(map.get(key).getData())
}
但是在大規模情況下,此迭代和stringbuilder.append會導致性能問題,即需要時間。我想創建它創建了一個stribuilder像運行方法,
getdata() {
return (stringbuilder(map.get(key1).getdata() + map.get(key2).getdata() + map.get(key3).getdata() + ... + till all entries in map))
}
是不是正確的做法?請建議是否有更好的方法,如果有例子。
我已經嘗試過java反射,它比目前的迭代器版本慢得多,從而避免了它。
P.S.忽略將此視爲僞代碼的語法。
你認爲在運行時創建一個完整的方法會比sringbuilder更快嗎? – zack6849
我認爲字符串生成器的性能是潛在的增長字符數組。您應該在字符串構建器構造函數中提供預期的長度。 – Mordechai
@MouseEvent我認爲你的評論,多一點解釋,值得回答。 –