java.math.BigInteger 不能转换为 java.lang.Integer

标签 java mysql sql hibernate postgresql

我收到以下异常。

原因:

java.lang.ClassCastException: java.math.BigInteger cannot be cast to 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();

或者可能转换为 Number 以涵盖 IntegerBigInteger 值。

关于java.math.BigInteger 不能转换为 java.lang.Integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9510982/

相关文章:

java - 获取第三个逗号的索引

java - JUnit 5 : Inject spring components to Extension (BeforeAllCallback/AfterAllCallback)

mysql - 如何合并两个数据库,具有相同的数据,但具有不同的主键,并且没有重复的字段?

mysql - 替代mysql中的in运算符

sql - 使用 NOT IN 提取数据

java - 使用微模拟器从 jar 制作 apk

java - Jtable 中的复选框和对话框

mysql - 我可以进行sql转换吗

mysql - 具有内部连接和不同值的 SQL 计数

php - 在 MySQL 中选择单行