Olá, To recebendo a informação de erro no cast só que para mim não tem como existir esse erro. O erro que que recebendo é: "java.lang.ClassCastException : java.lang.Double cannot be cast to [Ljava.lang.Double"
O meu código é esse:
ArrayList calculoValor = (ArrayList) session.createSQLQuery("select valor from tb_fluxocaixa where id= (select MAX(id-1) from tb_fluxocaixa)").list();
Double[] obj = (Double[]) ((ArrayList) calculoValor).get(0);
Double NovoValor = (Double)obj[0];
Esse array ta dentro de um metodo que recebe por parametro um valor do tipo Double.
Tem alguma coisa de errado nesse meu código?
Olá, To recebendo a informação de erro no cast só que para mim não tem como existir esse erro. O erro que que recebendo é: "java.lang.ClassCastException : java.lang.Double cannot be cast to [Ljava.lang.Double"
O meu código é esse:
ArrayList calculoValor = (ArrayList) session.createSQLQuery("select valor from tb_fluxocaixa where id= (select MAX(id-1) from tb_fluxocaixa)").list();
Double[] obj = (Double[]) ((ArrayList) calculoValor).get(0);
Double NovoValor = (Double)obj[0];
Esse array ta dentro de um metodo que recebe por parametro um valor do tipo Double.
Tem alguma coisa de errado nesse meu código?
Olha cara, olhando assim, o erro me parece que é pq vc ta tendando fazer um casting de um Double para um array de Double[] ai vai da exceção mesmo.
ari_cesar
E qual é a forma correta de passar o valor do tipo Double que tá dentro do meu array para um outro objeto do tipo Double?
evertonsilvagomesjav
Double obj = new Double[5];
obj[0] = (Double) ((ArrayList) calculoValor).get(0);
ari_cesar
Assim não dá pq da erro de sintaxe e a IDE manda eu fazer CAST para Double[] .
evertonsilvagomesjav
corrigi la em cima, nao vai ter como vc usar seu array sem inicializar. Do jeito que ta ai pq vc nao cria um ArrayList de double entao?
ari_cesar
Muito Obrigado, achei a solução! Criei um Array de double, e depois criei um objeto do tipo Double e mandei colocar o valor do array dentro desse novo objeto. O código ficou assim:
ArrayList calculoValor = (ArrayList) session.createSQLQuery("select valor from tb_fluxocaixa where id= (select MAX(id-1) from tb_fluxocaixa)").list();
//Objeto que vai fazer a transformação
Double[] trans = new Double[5];
/// Objeto recebe o valor armazenado no calculoValor
trans[0] = (Double) ((ArrayList) calculoValor).get(0);
/// Passo o valor armazenado no objeto para um novo objeto do tipo Double chamado novoValor
Double novoValor = trans[0];
Hebert_Coelho
ari_cesar:
Muito Obrigado, achei a solução! Criei um Array de double, e depois criei um objeto do tipo Double e mandei colocar o valor do array dentro desse novo objeto. O código ficou assim:
ArrayList calculoValor = (ArrayList) session.createSQLQuery("select valor from tb_fluxocaixa where id= (select MAX(id-1) from tb_fluxocaixa)").list();
//Objeto que vai fazer a transformação
Double[] trans = new Double[5];
/// Objeto recebe o valor armazenado no calculoValor
trans[0] = (Double) ((ArrayList) calculoValor).get(0);
/// Passo o valor armazenado no objeto para um novo objeto do tipo Double chamado novoValor
Double novoValor = trans[0];
Blz!!!! Agora edita o tópico e coloca "[Resolvido]" por favor.