重複の可能性:
ループの内側または外側で変数を宣言する
Javaコードの次の2つのサンプルを検討してください。
// 1st sample
for (Item item : items) {
Foo foo = item.getFoo();
int bar = item.getBar();
// do smth with foo and bar
}
// 2nd sample
Foo foo;
int bar;
for (Item item : items) {
foo = item.getFoo();
bar = item.getBar();
// do smth with foo and bar
}
サンプル間でパフォーマンス/メモリ消費量に違いはありますか?もしそうなら、それはハンドルのタイプ(オブジェクト対プリミティブ)に依存しますか?