一尘不染

无法将java.math.BigInteger强制转换为java.lang.Integer

hibernate

我收到以下异常。

造成原因:

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];

有人知道吗?


阅读 319

收藏
2020-06-20

共1个答案

一尘不染

您可以使用:

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

或者也许Number覆盖了IntegerBigInteger价值观。

2020-06-20