次のコードがあるとします。
for(Element elm : elements)
if(elm instanceof Foobar)
Session.getSomething().getListOfSomething().add((Foobar)elm);
以下のようにしたほうがよいのではないでしょうか?
List<Foobar> list = Session.getSomething().getListOfSomething();
for(Element elm : elements)
if(elm instanceof Foobar)
list.add((Foobar)elm);
ループの実行中に Something と listOfSomething が変更されないと仮定します。これにより、メソッド呼び出しが減少するため、コールスタックのプッシュ/ポップの数を大幅に削減できると考えています。
このタイプの最適化はあまりにもつまらないものですか? Javaコンパイラがこの方法で最適化できると想定するとは思いません。
編集: AddAll の使用を除外するためにコードを単純化しない