Tenho o método de Controle de Prestações,
que podem varias em X quantidades de parcelas. Se for alterado o valor
automaticamente o método recalcula os valores das proximas parcelas assim como datas.
Problema:
Se alterar os valores e fazer o método recalcular os valores, estou guardando as informações iniciais
em um objeto auxiliar, para que se o botao Cancelar for clicado, possa retornar aos valores padrões “iniciais”
Porém, esta informação está sendo perdida.
ControlaPrestacao controlaPrestacaoBackup = new ControlaPrestacao(venda);
public ExibePrestacao(Frame owner, Venda venda, Pagamento pagamento) {
super(owner);
this.venda=venda;
this.pagamento=pagamento;
initComponents();
controlaPrestacaoBackup = venda.getControlaPrestacao();
Não se esqueça , quando vc passa um objeto por parâmetro , vc passa a referencia deste objeto ou seja
caso vc faça alguma alteração no método ela sera alterada no objeto que vc passou por parâmetro .
exemplo básico .
[code]
class Fizz {
int x = 5;
public static void main(String[] args) {
final Fizz f1 = new Fizz();
Fizz f2 = new Fizz();
Fizz f3 = FizzSwitch(f1, f2);
System.out.println((f1 == f3) + " " + (f1.x == f3.x));
}
static Fizz FizzSwitch(Fizz x, Fizz y) {
final Fizz z = x;
z.x = 6;
return z;
}
}[/code]
A saida será “true true”
Porque as referencias de f1 e f3 referenciam o mesmo objeto ou seja então se qualquer um sofrer alteração o outro tbm será alterado .