Published 2023. 5. 23. 20:47
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' 카테고리의 다른 글
[Java] @NoArgsConstructor @AllArgsConstructor 비교 (0) | 2023.06.01 |
---|---|
[Java] 컴파일 에러와 런타임 에러 (0) | 2023.05.31 |
[Java] 개선된 Switch문 (Switch Expression) (0) | 2023.05.22 |
[Java] Stream에서 index 사용하기 (0) | 2023.05.19 |
[Java] LocalDate 해당 월의 마지막 날짜 구하기 (0) | 2023.05.18 |