我有一个小方法,其中包括将字符串转换为整数的功能。由于该字符串是该方法的参数,我想确保该字符串可转换。所以我想知道最安全和/或最快的方法。
版本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 应该是我小程序中的“错误值”,换句话说,三个版本的方法在我的程序中都能完美地工作。如果您认为您的方法更好,请随意创建您自己的版本,我非常乐意接受任何其他建议。非常感谢您提前的支持。