views:

51

answers:

2

Hi guys,

Here is the java code

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

c is a arraylist. I populate it with this field from DB. "USAGETYPE" NUMBER(*,0),

I get the following error

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

Can you please help me out

+3  A: 

Well, you cannot convert an object to a string by casting. Not in Java, in any case.

Try

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

That is, if you actually need it as a string, which smells a little dubious in the first place. Usually the only place where numbers are needed as strings is the UI and you've got appropriate other places to do that conversion, normally (e.g. CellRenderers in Swing).

Joey
+3  A: 

Simply write

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

or

usageType = ""+c.getSrcValue("USAGETYPE");
Tushar Tarkas
thanks guys :-)
mujeeb
Reformatted code; please revert if incorrect.
trashgod
@trashgod : thanks for formatting. I will take care of putting in formatted code henceforth :)
Tushar Tarkas