以下函数返回值正确的是:
public int getVal(String str) {
int val = 0;try {
val = Integer.parseInt(str);
return val;
} catch (NumberFormatException e) {
return val;
}
finally {
val = -1;
}
}
输入str = "10"时,返回10
输入str = null时,返回-1
输入str = "x"时,返回-1
输入str = "-2"时,返回-1
public static int parseInt(String s) throws NumberFormatException { return parseInt(s,10); }在parseInt(s,10)中有如下代码
if (s == null) { throw new NumberFormatException("null"); }s='x'时会判定出不是数字(比较复杂,就不解释了),从而抛出异常,返回0