【发布时间】:2010-09-13 13:59:24
【问题描述】:
我有一个看起来像这样的循环:
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 中更简洁,可能放在它自己的方法中。但是,仍然存在关于哪个更快的争论。有人可以对此进行测试并给出统一的答案吗?
【问题讨论】:
-
我不知道性能如何,但是代码看起来更干净,在 for 循环之外使用 try catch。
标签: java performance loops try-catch