[英]NumberFormatException on StringUtils.isBlank method
盡管我有StringUtils.isBlank()
並且我還添加了一個不可破壞的空白字符的檢查,但我收到了 NumberFormatException,如下面的代碼中所述:
if (isBlank(amtBeforeTax) || amtBeforeTax.matches("^[\\p{Z}]*$")) {
ra.setAmtBeforeTax(BigDecimal.ZERO);
} else {
ra.setAmtBeforeTax(new BigDecimal(amtBeforeTax));
}
我仍然在上面的代碼中遇到數字格式異常。 我無法控制amtBeforeTax
,這是我正在獲取的數據流,只是將其設置為其他對象。 我想知道我將在這里接手的前兆究竟是什么,以避免出現異常。
解決它的一種方法是捕獲NumberFormatException
,有效地使用BigDecimal
構造函數來執行驗證,而不是自己編寫規則:
try {
ra.setAmtBeforeTax(new BigDecimal(amtBeforeTax))
} catch (NumberFormatException ex) {
ra.setAmtBeforeTax(BigDecimal.ZERO);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.