javaboiii의 Error | Exception

Exception - java.lang.ClassCastException

javaboiii 2024. 9. 10. 11:47

 

amount가 Long 타입인데 Integer 타입으로 변환할려고 하니까 안됨

if (responseObject != null) {
    // 필요한 값 추출
    int amount = (int)responseObject.get("amount");
    String buyer_name = (String) responseObject.get("buyer_name");
    String buyer_email = (String) responseObject.get("buyer_email");
    String buyer_tel = (String) responseObject.get("buyer_tel");
    String imp_uid1 = (String) responseObject.get("imp_uid");
    String merchant_uid = (String) responseObject.get("merchant_uid");

 

현재 코드에서는 Long 타입과 Integer 타입 호환이 불가

 

문제를 해결하려면

Long 타입을 Integer타입으로 변환하려면 intValue() 메서드를 사용해야 함

Long longValue = 123L;
Integer intValue = longValue.intValue();

 

반대로 Integer타입을 Long타입으로 변환할 때는

Integer intValue = 123;
Long longValue = intValue.longValue();

 

메서드를 활용해서 해결

if (responseObject != null) {
    // 필요한 값 추출
    Long amount = (Long)responseObject.get("amount");
    int amount_res = amount.intValue(); // 결제 금액

 

야 ~ 호 ~