当使用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
方法之前,你就可以确保字符串是一个有效的数值表示,从而避免抛出异常。