2011-04-05 76 views
5

我从数据库中获取数据。我正在接受classcastexception。 在数据库中,我的ID保存为BIGINT,但在代码(对象)中很长。 铸造bigint时是否有问题?cast bigint long

+0

你用什么Java API来查询数据库?请提供一些代码。 – krookedking 2011-04-05 14:56:55

+0

我正在使用Derby数据库。 'List list = openIncidentDao.getAll(); \t \t \t对(INT I = 0; I <则为list.size();我++){ \t \t \t \t openIncident =(OpenIncident)list.get(ⅰ); \t \t \t}' – 2011-04-05 15:00:54

回答

4

如果这是MySql,则应该使用java.math.BigDecimal

请参阅19.3.4.3. Java, JDBC and MySQL Types的表格。

+0

感谢您的建议。我会尝试。你能告诉我BIGINT是否会导致任何问题? – 2011-04-05 14:56:13

+0

更新了我的答案。 – aioobe 2011-04-05 15:03:29

+0

是的,你是对的。 :) – 2011-04-05 15:03:37

7

您是否尝试将您的值转换为BigInteger,然后使用longValue()获取long值?它应该工作。 aioobe是正确的,也检查空值。

干杯!