Pessoal estou realizando um cast do resultado de uma query, onde possuo colunas do tipo Varchar, Long tudo isso para um ArrayList
Fazendo o cast dessa maneira não tenho nenhum problema, o que vier ele converte
String.valueOf(registro[1])
Fazendo o cast da maneixa abaixo, quando recebo um valor Number ele me da erro de conversão BigDecimal para String
((String)linha[1])
Pq isso ocorre? Qual a maneira correta de fazer esse cast?
porque o String.valueOf () convert seu number (isso é conversão). agora fazendo (cast), vc tah especificando o tipo do objeto retornado, ai no caso vc vai estar dizendo que o objeto é um String, mas na verdade é um int ou double
Esse erro ocorre porque valueOf(Obj) não é um cast.
Ele na verdade tá chamando o toString() do Obj
Acostume-se a ler a API:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#valueOf(java.lang.Object)