当使用valueOf
方法将字符串转换为数值时,如果字符串不是有效的数值表示,那么该方法可能会抛出异常
try-catch
语句捕获异常:public static void main(String[] args) {
String str = "not a number";
try {
int num = Integer.valueOf(str);
System.out.println("The number is: " + num);
} catch (NumberFormatException e) {
System.err.println("Invalid input: " + e.getMessage());
}
}
valueOf
方法之前,使用正则表达式或其他方法验证字符串是否为有效的数值表示。例如,使用matches
方法和正则表达式:public static void main(String[] args) {
String str = "not a number";
if (str.matches("^-?\\d+$")) {
int num = Integer.valueOf(str);
System.out.println("The number is: " + num);
} else {
System.err.println("Invalid input: not a valid number");
}
}
这样一来,在调用valueOf
方法之前,你就可以确保字符串是一个有效的数值表示,从而避免抛出异常。