Como criar getter e setter de arraylist?

1 resposta Resolvido
programaçãojava
R

Bom dia, estou criando um jogo de perguntas e respostas, com os atributos: pergunta, resposta correta e o arraylist de opçao(private ArrayList opcao = new ArrayList();). Preciso do getter das opções para usar na minha classe principal para imprimir as perguntas e respostas na tela, só que eu não estou sabendo como criar o getter de opções por ser um Arraylist. Ja tentei de algumas formas e quando vou na classe principal não consigo acessar o getter. Se alguém puder me dar uma ideia de como eu faço isso eu agradeço.

public class Perguntas {

private String pergunta;


private ArrayList<String> opcao = new ArrayList<String>();


private String respostaCorreta;


//Metodo Construtor
public Perguntas(String p, String res, String opc1, String opc2, String opc3) {
    this.pergunta = p;
    this.opcao.add(opc1);
    this.opcao.add(opc2);
    this.opcao.add(opc3);
    this.respostaCorreta = res;
}



//GET E SET DA PERGUNTA
public String getPergunta() {
    return pergunta;
}

public void setPergunta(String p) {
    this.pergunta = p;
}

//GET E SET DAS OPCOES


//GET E SET DA RESPOSTA CORRETA
public String getRespostaCorreta() {
    return respostaCorreta;
}

public void setRespostaCorreta(String res) {
    this.respostaCorreta = res;
}


}

1 Resposta

T
Solucao aceita

List/ArrayList são objetos, então os getters e setters são criados da mesma forma que outros objetos (como String). Algo assim:

public List<String> getOpcao(){
  return this.opcao;
}

public void setOpcao(List<String> opcao){
  this.opcao = opcao;
}

Entretanto, para manter o encapsulamento, eu não recomendaria expor o ArrayList completo se não for necessário. Você pode criar métodos acessórios na sua classe de Perguntas para adicionar respostas, ou pegar uma resposta específica pelo índice.

Abraço.

Criado 18 de maio de 2019
Ultima resposta 18 de mai. de 2019
Respostas 1
Participantes 2