728x90
※ 다음 코드가 있을 때 발생하는 이슈
int totalCnt = 0;
List<Map<String, Object>> list = TempService.selectTempList(paras);
if(list.size() > 0) {
totalCnt = (int) list.get(0).get("total");
{
1) Cannot cast 'java.math.BigDecimal' to 'int' 에러 발생
- totalCnt의 리스트 전체 개수를 할당할 때 cast에러가 발생한다. 이유는 'list.get(0).get("total");'가 BigDecimal 타입이기 때문이다.
※ 해결방법
int totalCnt = 0;
List<Map<String, Object>> list = TempService.selectTempList(paras);
if(list.size() > 0) {
totalCnt = ((BigDecimal) list.get(0).get("total")).intValue();
{
- 설명 : 이렇게 BigDecimal로 객체를 강제변환 한 후 intValue로 int로 형변환 한다.
- 문법 : ((BigDecimal) list.get(0).get("total")).intValue();
728x90
'Language > Back End' 카테고리의 다른 글
Java] while(variable-->0) / java --> 문법 이해하기 (0) | 2022.06.23 |
---|---|
Java ] char to ascii 변환 방법 / 문자를 ascii 숫자 값으로 변환하는 방법 (0) | 2022.06.16 |
Java] String(문자열) 비교 'equals()'와 '=='의 차이점 (0) | 2022.05.22 |
Java ] Comparable과 Comparator의 개념 및 차이 (0) | 2022.03.10 |
Java ] 자바 인터페이스(interface), 구현(implements) 사용방법 및 추상 클래스(abstarct)와 차이 비교 (0) | 2022.01.16 |