https://wwwnghks.tistory.com/94
[Java] java.math.BigDecimal cannot be cast to java.lang.Integer
java 에서 java.math.BigDecimal cannot be cast to java.lang.Integer 에러 발생시 oracle의 컬럼 타입이 number 형인경우 형변환시 에러가 발생할 수 있습니다. int testNum = Integer.parseInt(String.valueOf(dataMap.get("num_val1")));
wwwnghks.tistory.com
List<Map<String, Integer>> 타입으로 테이블로부터 받아온 값 [{K, V}, {K, V} ....] 형태
key값은 데이터베이스 쿼리에서 지정 한 별칭으로 초기화된다.
이 때 받아온 숫자 값들의 크기를 비교 하려 할 때 형변환 필요
값이 정수이므로 (int) 값 형태로 형 변환 했더니 'ClasscassExeption?? ' 발생 ...
사실 <String, Integer> 인 MAP형태로 값을 받아왔으므로 굳이 형변환 해 줄 필요없을거라 생각하긴 했지만, 혹시나 해서 int 타입으로 형변환 해주었음에도 오류 발생.
데이터베이스로 부터 받아온 number타입 값은 자동으로 bigdecimal 타입으로 바뀌는 것인가??
아무튼 받아온 값을 int형으로 어떻게 형 변환 해야 하는지 구글링 해 본 결과 위의 포스팅 발견.
int testNum = Integer.parseInt(String.valueOf(dataMap.get("num_val1")));
받아온 값을 String형 변환 후, 다시 int형으로 변환해야 하는 것 같습니다.
'JAVA' 카테고리의 다른 글
파일 일기 10초마다 실행 배치 (0) | 2024.12.17 |
---|---|
자바 bigDecimal 사용방법 (0) | 2023.08.15 |
체크카드 매일 사용이벤트 가상구현 (0) | 2023.05.07 |
[Java] Map보다 DTO 클래스를 사용해야 하는 이유 (FROM 망나니개발자) (0) | 2023.03.02 |