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

Duvida

Bom dia, estou com as seguintes duvidas. Bom nessa parte aqui do meu código.

movimentacao.setData(Calendar.getInstance());

Aqui estou setando a minha data, esse Calendar.getInstance()); esse metodo aqui é trazer o dia atual? Agora tenho outra, nessa parte aqui.

movimentacao.setValor(new BigDecimal(123.9));

Porque que aqui eu passei um new BigDecimal? sendo que eu ja tinha passado no atributo da minha classe que ja era um tipo BigDecimal, na hora de setar o valor não era só passar apenas o valor?

2 respostas

O primeiro traz o instante atual. O segundo acontece pq BigDecimal é uma classe e você precisa instanciar um objeto para passá-lo como argumento, não adianta só passar o número.

solução!

Ola Alisson,

O metodo Calendar.getInstance()); ele devolve o instante atual mesmo.

O atributo da sua classe Movimentacao é do tipo BigDecimal, e no java qualquer numero que voce digitar, que contenha ponto, ele entende como um double.Exemplo:

double valorEmDouble = 12.5;

Mas no seu metodo setValor() da movimentacao recebe um BigDecimal, entao precisamos criar um para ele:

BigDecimal valor = new BigDecimal(valorEmDouble);

Neste exemplo estamos criando um BigDecimal passando em seu contrutor, um double. Assim podemos pegar esse BigDecimal que criamos e passar para o metodo:

movimentacao.setValor(valor);

exemplo completo:

double valorEmDouble = 12.5;
BigDecimal valor = new BigDecimal(valorEmDouble);
movimentacao.setValor(valor);