java의 데이터 유형 BigDecimal에서 NULL을 확인하려고합니다. 0 값에 대해 유효성을 검사 할 수 있지만 NULL의 결과는 NULL 포인트 예외입니다. 예외에서이 데이터 유형의 유효성 검사를 처리해야합니까, 아니면 유효성 검사를 위해 데이터를 미리 작성할 수있는 계산이 있어야합니다. 내가 지금까지 한 일의 예는 아래 :nulls에 대한 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)'를 사용하고 싶을 것입니다. –
@RobI '.equals'는'BigDecimal'과 함께 사용하면 안됩니다. 왜냐하면'0.00'은 '0'과'같지 않습니다. ' compareTo는 올바른 접근법이다. –
고마워요, @ bmorris591 - 몰랐어요! –