Pessoal, estou com uma dúvida…
Bem, eu quero copiar um objeto para outro do mesmo tipo, sem ser por referência… Eu sei que quando eu declaro um novo objeto e faço ele receber, por exemplo, outro objeto, o que eu estou fazendo é com que este objeto aponte para a mesma região de memória do Original… O que eu quero é que um novo objeto, só que com os mesmos valores que o anterior seja criado…
Ouvi falar do método Clone(); Mas não consegui implementá-lo, por exemplo eu tenho uma classe Aluno:
Fiz assim:
public class Aluno extends org.hibernate.util.Cloneable{
private int idade;
private String Nome;
public Aluno(int idade, String Nome) {
this.idade = idade;
this.Nome = Nome;
}
public Aluno(){
}
public String getNome() {
return Nome;
}
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
public int getIdade() {
return idade;
}
public void setIdade(int idade){
this.idade = idade;
}
}
Mas dá uns erros quando eu tento utilizá-lo:
Exception in thread “main” java.lang.CloneNotSupportedException: teste.Aluno
20
at java.lang.Object.clone(Native Method)
30
30
at teste.Aluno.clone(Aluno.java:29)
30
at teste.Turma.getAluno(Turma.java:22)
at teste.Main.Teste2(Main.java:34)
at teste.Main.main(Main.java:61)
Java Result: 1
Alguém tem algum exemplo de utilização deste, ou outro método para fazer isso que eu quero!!