我有一个小方法,除其他外,它还可以将字符串转换为整数。由于字符串是方法的参数,我想确保该字符串是可转换的。所以我只是想知道什么是最安全和/或最快的方法。
版本 A:保持原样并承担风险(我试图避免)
public static int stringToInt(String param) {
return Integer.valueOf(param);
}
(在速度方面,它对版本 B 和 C 有什么样的影响?)
版本 B:捕获异常
public static int stringToInt(String param) {
try {
return Integer.valueOf(param);
} catch(NumberFormatException e) {
return -1;
}
}
版本 C:检查字符串的每个字母以查看是否为数字
public static int stringToInt(String param) {
for(char c : param.toCharArray()) {
if(!Character.isDigit(c))
return -1;
}
return Integer.valueOf(param);
}
请注意,参数必须是正数,并且 -1 应该是我的小程序中的“错误值”,换句话说,所有三个版本的方法在我的程序中都可以正常工作。
我非常愿意接受您可以给我的任何其他建议,因此,如果您认为自己的版本更好,请随时创建自己的版本。
非常感谢您提前的支持。