Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida em vakueOf()

Seria necessário colocar o valueOf em

aluno.setNota(Double.valueOf(campoNota.getProgress()));

Pois campoNota.getProgress() não retorna um int?

Não poderia fazer:

aluno.setNota(Double(campoNota.getProgress());

Obrigado!

3 respostas

Oi Ronaldo,

Sim, você consegue fazer um cast para executar esse código que vai continuar a funcionar !

Abraços :D

solução!

Ronaldo, tudo bem? Sim, o getProgress se não me engano, retorna um int, mas se tratando de progresso, compreende que este valor pode ser um numero quebrado? Tipo, você pode avaliar o progresso em 70.5% ou em 3.5 estrelas... Não faz sentido usar inteiro podendo ter estes casos, certo?

O Double.valueOf ajuda a fazer uma conversão direta do valor sem que seja necessário criar um novo objeto com o new. Perceba que o valueOf neste caso é um método estático.

Acredito que talvez você possa usar a segunda forma, mas não sem o uso do new.

Deu pra entender? Espero ter ajudado, bons estudos.

Bom, primeiramente para usar o construtor do tipo primitivo Double, é necessário utilizar a sintaxe correta:

aluno.setNota(new Double(campoNota.getProgress());

Porém, minha preocupação é que que o método getProgress(), retorna um int, e o construtor do tipo Double espera uma String. Faça um teste e veja se os resultados serão convertidos certinho. Qualquer coisa utilize dessa forma:

aluno.setNota(new Double(campoNota.getProgress().toString());

Esta outra forma com o toString() garante que o valor da nota será convertido de intpara String, respeitando o construtor do tipo primitivo Double.

Abraços!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software