본문 바로가기
MySql

MySQL java.math.BigInteger는 java.lang.Integer로 캐스트 될 수 없습니다.

by 베이스 공부 2020. 9. 19.
반응형

다음 예외가 발생합니다.

원인 :

java.lang.ClassCastException : java.math.BigInteger를 캐스트 할 수 없습니다. java.lang.Integer

다음 코드로

List queryResult = query.list();

for (Iterator<Object[]> it = queryResult.iterator(); it.hasNext();) {
    Object[] result = it.next();
    Integer childId = (Integer) result[0];
    Integer grandChildCount = (Integer) result[1];
    CompanyNode childNode = childNodes.get(childId);
    childNode.setHasChildren(grandChildCount != 0);
    childNode.setIsLeaf(grandChildCount == 0);
}

이 줄에서

Integer grandChildCount = (Integer) result[1];

아무도 아이디어가 있습니까?

 

해결 방법

 

당신이 사용할 수있는:

Integer grandChildCount = ((BigInteger) result[1]).intValue();

또는 Integer BigInteger 값을 모두 포함하도록 Number 로 캐스트 할 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/9510982

 

 

반응형

댓글