Preciso fazer um backup de um objeto, mas a simples atribuição funciona como um ponteiro.
Como eu faço uma nova cópia independente???
Preciso fazer um backup de um objeto, mas a simples atribuição funciona como um ponteiro.
Como eu faço uma nova cópia independente???
Faca uma copia usando uma instancia nova. Por exemplo:
Class Foo {
private String nome;
private int idade;
public Foo() {}
public Foo(Foo foo) {
this.nome = foo.getNome();
this.idade = foo.getIdade();
}
// getters e setters
}
...
Foo f1 = new Foo();
f1.setNome("foo 1");
f1.setIdade(10);
Foo f2 = new Foo(f1);
Rafael
Falou, mas o problema é que a classe é LinkedList
Entao simplesmente passe a lista atual como argumento para a nova. Todos os metodos da Collections suportam copy constructors. E, caso isso ainda nao te agrade ( ainda nao? ), entao crie uma list nova e va iterando elemento por elemento da lista original, copiando-os para a nova lista.
Rafael
Eu fico com a proposta da interface Cloneable
LinkedList a implementa e não é complicada de usar. Depois de implementar, chame o método clone() que já é herdado de Object.
Entao, mas implementar o clone() eh mais complicado e chato que fazer um copy constructor
Rafael