次のようなループがあります。
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
これは、フロートの配列を返すことを唯一の目的とするメソッドの主要なコンテンツです。null
エラーが発生した場合にこのメソッドを返すようにしたいので、次のようにループをtry...catch
ブロック内に配置します。
try {
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
} catch (NumberFormatException ex) {
return null;
}
しかしtry...catch
、次のようにブロックをループ内に置くことも考えました。
for (int i = 0; i < max; i++) {
String myString = ...;
try {
float myNum = Float.parseFloat(myString);
} catch (NumberFormatException ex) {
return null;
}
myFloats[i] = myNum;
}
パフォーマンスやその他に、どちらか一方を優先する理由はありますか?
編集:コンセンサスは、try / catch内、おそらく独自のメソッド内にループを置く方がクリーンであるようです。ただし、どちらがより速いかについてはまだ議論があります。誰かがこれをテストして統一された答えを返すことができますか?