如何防止 java.lang.NumberFormatException:对于输入字符串:“N/A"? [英] How can I prevent java.lang.NumberFormatException: For input string: "N/A"?

查看:26
本文介绍了如何防止 java.lang.NumberFormatException:对于输入字符串:“N/A"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在运行我的代码时,我得到一个 NumberFormatException:

While running my code I am getting a NumberFormatException:

java.lang.NumberFormatException: For input string: "N/A"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.valueOf(Unknown Source)
    at java.util.TreeMap.compare(Unknown Source)
    at java.util.TreeMap.put(Unknown Source)
    at java.util.TreeSet.add(Unknown Source)`

如何防止此异常发生?

推荐答案

"N/A" 不是整数.如果您尝试将其解析为整数,它必须抛出 NumberFormatException.

"N/A" is not an integer. It must throw NumberFormatException if you try to parse it to an integer.

解析前检查或正确处理Exception.

Check before parsing or handle Exception properly.

  1. 异常处理

try{
    int i = Integer.parseInt(input);
} catch(NumberFormatException ex){ // handle your exception
    ...
}

或 - 整数模式匹配 -

String input=...;
String pattern ="-?\d+";
if(input.matches("-?\d+")){ // any positive or negetive integer or not!
 ...
}

这篇关于如何防止 java.lang.NumberFormatException:对于输入字符串:“N/A"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆