Como se copia um objeto

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 :wink:

Rafael