Saya memiliki lingkaran yang terlihat seperti ini:
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
Ini adalah konten utama dari metode yang tujuan utamanya adalah mengembalikan array float. Saya ingin metode ini kembali nulljika ada kesalahan, jadi saya meletakkan loop di dalam try...catchblok, seperti ini:
try {
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
} catch (NumberFormatException ex) {
return null;
}
Tapi kemudian saya juga berpikir untuk meletakkan try...catchblok di dalam loop, seperti ini:
for (int i = 0; i < max; i++) {
String myString = ...;
try {
float myNum = Float.parseFloat(myString);
} catch (NumberFormatException ex) {
return null;
}
myFloats[i] = myNum;
}
Apakah ada alasan, kinerja atau sebaliknya, untuk lebih memilih satu daripada yang lain?
Sunting: Konsensus tampaknya lebih bersih untuk meletakkan loop di dalam try / catch, mungkin di dalam metodenya sendiri. Namun, masih ada perdebatan tentang mana yang lebih cepat. Bisakah seseorang menguji ini dan kembali dengan jawaban yang seragam?