Tôi có một vòng lặp trông giống như thế này:
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
Đây là nội dung chính của một phương thức có mục đích duy nhất là trả về mảng float. Tôi muốn phương thức này trả về null
nếu có lỗi, vì vậy tôi đặt vòng lặp bên trong một try...catch
khối, như thế này:
try {
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
} catch (NumberFormatException ex) {
return null;
}
Nhưng sau đó tôi cũng nghĩ đến việc đặt try...catch
khối bên trong vòng lặp, như thế này:
for (int i = 0; i < max; i++) {
String myString = ...;
try {
float myNum = Float.parseFloat(myString);
} catch (NumberFormatException ex) {
return null;
}
myFloats[i] = myNum;
}
Có bất kỳ lý do, hiệu suất hoặc cách khác, để thích cái này hơn cái kia?
Chỉnh sửa: Sự đồng thuận dường như là sạch hơn khi đặt vòng lặp bên trong thử / bắt, có thể bên trong phương thức riêng của nó. Tuy nhiên, vẫn còn tranh luận về cái nào nhanh hơn. Ai đó có thể kiểm tra điều này và trở lại với một câu trả lời thống nhất?