O que acontece é que tenho um item que é passado como referência para um JDialog e preciso que o valor seje apenas modificado para que ele possa voltar alterado na classe de origem. Eu sei que tem como copiar item a item para funcionar, mas minha classe tem uns 30 atributos todos com get e set, queria saber se tem um metodo nativo do java que faz essa copia, só encontrei algo parecido para fazer com List.
Abaixo o que já foi feito
private void copiaDadosCadastroClienteJuridico(CadastroClienteJuridico cadastroA, CadastroClienteJuridico cadastroB){
cadastroA.setCodigo(cadastroB.getCodigo());
cadastroA.setCNPJ(cadastroB.getCNPJ());
cadastroA.setIE(cadastroB.getIE());
cadastroA.setInscricaoMunicipal(cadastroB.getInscricaoMunicipal());
}
Tenta assim:
public class Main {
public static void main(String[] args) {
Pessoa p1 = new Pessoa(1, "Aaa", "Bbb");
System.out.println(p1);
try {
Pessoa p2 = (Pessoa) p1.clone();
System.out.println(p2);
} catch (CloneNotSupportedException e) {
e.printStackTrace();
System.err.println("Não foi possível clonar.");
}
}
}
public class Pessoa implements Cloneable {
private int id;
private String nome;
private String sobrenome;
public Pessoa(int id, String nome, String sobrenome) {
this.id = id;
this.nome = nome;
this.sobrenome = sobrenome;
}
public int getId() {
return id;
}
public String getNome() {
return nome;
}
public String getSobrenome() {
return sobrenome;
}
@Override
public String toString() {
return "Pessoa [id=" + id + ", nome=" + nome + ", sobrenome=" + sobrenome + "]";
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
Obrigado, vou fazer isso.