Tenho dois objetos do tipo pessoa e gostaria de gerar um terceiro objeto pessoa com os dados dos dois primeiro, o objeto gerado deve conter os atributos do primeiro mais os do segundo sem sobrepor os atributos segue abaixo um exemplo para ilustrar:
Vc teria que criar um metodo que faria isso.
Minha sugestao eh q no construtor de pessoa vc sete todos os atributos como NULL.
No metodo que vc chamar o metodo vc verifica se cada atributo eh diferente de NULL, se for vc adiciona no objeto de retorno.
Sempre os dados do primeiro vai prevalecer sobre os dados do segundo ? Ou seja, se o ambos os objetos tiverem o atributo “nome” preenchido, fica o valor do primeiro objeto?
fabiocsilva
Meio estranho isso de copiar uma instância de Pessoa em outra, mas pode fazer assim:
publicclassPessoa{privateStringnome;//...publicPessoa(){}publicPessoa(Pessoap){this.nome=p.nome;//... ou então usa o BeanUtils pra copiar os valores via reflexão}}Pessoap1=newPessoa();p1.setNome("Antonio");p1.setIdade(newInteger(15));Pessoap2=newPessoa(p1);p2.setRg("123456789");
Nesse caso alterando o valor em um vai alterar no outro também…
K
Kalunga
Então galera consegui resolver parte do meu problema.
Por reflection eu consegui resolver parte do meu problema, os atributos simples(String, Integer,Double) desse objeto deu certo por reflection, agora os atributos que são outros objetos(Endereco por exemplo) não funciona.
Sera que alguem pode ajudar?