将bigint转换为long

11

我正在从数据库获取数据,但出现了ClassCastException。在数据库中,我的ID保存为BIGINT,但在代码(对象)中,它是long类型。在将bigint强制转换为long时是否会出现问题?


你正在使用哪个Java API来查询你的数据库?请提供一些代码。 - krookedking
我正在使用Derby数据库。 'List list = openIncidentDao.getAll(); for (int i = 0; i < list.size(); i++) { openIncident = (OpenIncident) list.get(i); }' - Muhammad Imran Tariq
3个回答

16

你试过先将值转换为 BigInteger,然后使用 longValue() 获取 long 值吗?这应该可以解决问题。aioobe 是正确的,还要检查 null 值。

干杯!


是的,我们可以使用预定义函数<bigintegerNumber>.longValue(); - Aasim ali

10

谢谢你的建议。我会尝试一下。你能告诉我BIGINT会不会造成任何问题吗? - Muhammad Imran Tariq

1

我遇到了错误 java.math.BigInteger 无法转换为 java.lang.Long,因为我在使用 Spring Data 原生查询时获取了 BigInteger,所以我使用以下代码进行了解决。

((BigInteger)nativeQuery.getSingleResult()).longValue()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接