Estou com um problema com o clone que é o seguinte
Tenho um ArrayList
Preciso alterar a resposta de uma pergunta em um determinada posicao do array e que nao seja alterado outra.Porem esta alterando. Veja o codigo de exemplo que fiz
public class Pergunta implements Cloneable {
private String pergunta;
private String resposta;
public Pergunta(String pergunta) {
this.pergunta = pergunta;
this.resposta = resposta;
}
public String getPergunta() {
return pergunta;
}
public void setPergunta(String pergunta) {
this.pergunta = pergunta;
}
public String getResposta() {
return resposta;
}
public void setResposta(String resposta) {
this.resposta = resposta;
}
}
public class TesteArrayClone {
public static void main(String[] args) {
new TesteArrayClone();
}
TesteArrayClone() {
ArrayList perguntas = new ArrayList();
perguntas.add(new Pergunta(“PerguntaA”));
perguntas.add(new Pergunta(“PerguntaB”));
ArrayList<Pergunta> clone = (ArrayList<Pergunta>) perguntas.clone();
((Pergunta) clone.get(0)).setResposta("Resposta de A");
System.out.println(perguntas.get(0).getResposta()) // Saida = Resposta de A -Aqui nao deveria ter alterado.
System.out.println(clone.get(0).getResposta()) //Saida = Resposta de A
}
}
Não se se fiz o clone corretamente…Porem gostaria que me ajudassem
Desde ja agradeço
