728x90
반응형

class java.lang.Integer cannot be cast to class java.lang.Long

에러 원인

java.lang.Integer 타입을 java.lang.Long 타입으로 캐스팅할  없다는 에러

Integer Long 서로 다른 클래스이기 때문에 직접적인 캐스팅은 불가능

나의 경우 직접 캐스팅 할 수 없음에도 캐스팅 하려고 해서 에러 발생

if((Long) obj.get("input")) == longValue) {
	...
}

 


해결 방법

JSON 객체에서 가져온 "input" 값이 Number 타입으로 캐스팅 후, 이를 long 타입으로 변환하여 사용

long input = ((Number) obj.get("input")).longValue();

if(input == longValue) {
	...
}

 

 


참고 자료 : https://stackoverflow.com/questions/58056944/java-lang-integer-cannot-be-cast-to-java-lang-long

 

java.lang.Integer cannot be cast to java.lang.Long

I'm supposed to receive long integer in my web service. long ipInt = (long) obj.get("ipInt"); When I test my program and put ipInt value = 2886872928, it give me success. However, when I test my

stackoverflow.com

 

반응형
복사했습니다!