StringUtils上的java NumberFormatException。isBlank方法
我得到一个NumberFormatException,尽管我有StringUtils.isBlank()
,并且我还添加了一个不可破坏的空白字符检查,如下面代码中所述:
if (isBlank(amtBeforeTax) || amtBeforeTax.matches("^[\\p{Z}]*$")) {
ra.setAmtBeforeTax(BigDecimal.ZERO);
} else {
ra.setAmtBeforeTax(new BigDecimal(amtBeforeTax));
}
我仍然在上面的代码中得到一个数字格式的异常。我没有对amtBeforeTax
的控制权,它是我正在获取的数据流,只是将它设置为其他对象。我想知道为了避免这个例外,我会在这里做什么样的准备
# 1 楼答案
解决此问题的一种方法是捕获
NumberFormatException
,有效地使用BigDecimal
构造函数执行验证,而不是自己编写规则: