2010-08-15 126 views
4

这里是Java代码无法为BigDecimal转换为字符串在java中

usageType = (String) c.getSrcValue("USAGETYPE"); 

c是一个数组列表。 我用数据库中的这个字段填充它。 "USAGETYPE" NUMBER(*,0)

我收到以下错误

java.lang.ClassCastException: java.math.BigDecimal cannot be cast to String 

能否请你帮我出

回答

9

嗯,你不能一个对象铸造转换为字符串。在任何情况下都不是Java。

尝试

usageType = c.getSrcValue("USAGETYPE").toString(); 

也就是说,如果你真的需要它作为一个字符串,它的气味在首位有点可疑。通常情况下,唯一需要数字作为字符串的地方是UI,并且您通常有其他地方可以进行该转换(例如,Swing中的CellRenderer)。

5

简单地写

usageType = c.getSrcValue("USAGETYPE").toString(); 

usageType = ""+c.getSrcValue("USAGETYPE"); 
+0

谢谢你们:-) – mujeeb 2010-08-15 20:21:40

+1

重新格式化代码;如果不正确请回复。 – trashgod 2010-08-15 23:21:50

+0

@trashgod:感谢格式化。今后我会照顾格式化的代码:) – 2010-08-16 05:14:12