我想驗證數據類型BigDecimal在Java中的空值。我能夠驗證0值,但是空值導致NULL點異常。我是否應該在異常中處理此數據類型的驗證,或者是否有一些計算可以對數據進行預處理以驗證它。下的是我迄今所做的一個例子:驗證BigDecimal數據類型的空值在Java中
if(crime.getCrimeLatLocation() != null & crime.getCrimeLongLocation() != null || crime.getCrimeLatLocation().compareTo(BigDecimal.ZERO) != 0 & crime.getCrimeLongLocation().compareTo(BigDecimal.ZERO) != 0){
logger.info('Valid Data');
}
你有兩個'&' - 他們應該是'&&' - 布爾邏輯應該更好地適應這種變化。此外,布爾邏輯可能會更清楚,如果分開經緯比較,可能會更好。而不是使用'compareTo()!= 0',你可能想使用'equals(BigDecimal.ZERO)'。 – 2013-04-10 21:02:51
@RobI你不應該在'BigDecimal'中使用'.equals',因爲這需要考慮精度,所以'0.00'不等於''0'。 'compareTo'是正確的方法。 – 2013-04-10 21:09:32
謝謝,@ bmorris591 - 我不知道! – 2013-04-11 02:35:24