2016-04-19 2 views
5

foreachを使用してwhile/Iteratorコンボではなくコレクションを反復するコードをリファクタリングする簡単な方法があるかどうかは誰にも分かりますか?Eclipseリファクタイテレータ/ while foreach

例:

私が持っている:

Iterator<MyObject> iterator = list.iterator(); 
while (iterator.hasNext()) { 
    MyObject myObject = iterator.next(); 
    // do stuff 
} 

そして、私が欲しい:

for (MyObject myObject : list) { 
    // do stuff 
} 

そして、はい、私はパフォーマンスの改善を得ることはありません理解しています。

+2

***コードをリファクタリングする簡単な方法... ***ただ他で1つのスニペットを置き換える... –

+0

A *コードをリファクタリングするより簡単な方法です。 – renke

+0

リファクタリングはどういう意味ですか?ソースコード内のすべてのファイルの置き換えを自動化し、手動では実行しないことを意味しますか? –

答えて

0

繰り返しコードがすべてあなたの例に似ているとします。 findとreplaceを使用して、次の正規表現を試してみてください。

検索:

Iterator<([a-zA-Z0-9_]{1,})> [a-zA-Z0-9_]{1,} = ([a-zA-Z0-9_]{1,})\.iterator\(\);\R[\t]{1,}while \(iterator\.hasNext\(\)\) \{\R[\t]{1,}[a-zA-Z0-9_]{1,} ([a-zA-Z0-9_]{1,}) = iterator\.next\(\); 

は交換してください:

for($1 $3 : $2) { 
関連する問題