cannot be cast to java.math.big decimal
Java를 사용하여 형 변환을 수행하기 위해서 valueOf를 사용한다.
그러나 HashMap이나 Map을 사용해 데이터를 가죠올 때,
데이터 타입을 Cast하는 과정에서 몇 가지 오류가 발생하기도 한다.
valueOf
오류 코드
String number = (String) map.get("test");
수정 코드
String number = String.valueOf(map.get("test"));
타입이 Integer인 데이터를 Map으로 받아올 때에는
String.valueOf() 메서드를 사용하여 Integer를 String으로 형 변환할 수 있다.
Integer.parseInt
오류 코드
int number = (Integer) map.get("test");
수정 코드
int number = Integer.ParseInt(String.valueOf(map.get("test"));
위와 같이 Integer 타입을 String.valueOf() 메서드로 String으로 형 변환 한 후,
Integer.ParseInt()로 다시 Integer 타입으로 변환시켜 주면 된다.
반응형
728x90
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
[ Java ] Long과 long의 차이점 (60) | 2023.11.29 |
---|---|
[ Java ] What is the Wrapper Class? (20) | 2023.11.29 |
[ Java ] HANA CLOUD DB 연동 (0) | 2023.01.30 |
[ JAVA ] 웹 사이트 개발 / GET, POST (0) | 2023.01.26 |