1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

JAVA - Escrever em um arraylist diferentes elementos

Olá, boa noite. Eu estou com uma dúvida em relação à ArrayList em java. Eu preciso criar uma lista que, irá conter Alunos, Professores e Dependentes, cada um com seus respectivos nomes, etc (totalizando oito variáveis). Como eu posso fazer isso? Eu tentei assim:

List todos = new ArrayList<>();
aluno inserirA = new aluno(nome, idade, telefone, endereco, campus, horario, curso, fase);
                listaA.add(inserirA);
                todos.add(inserirA);

professor inserirP = new professor(nomep, idadep, telefonep, enderecop, campusp, horariop, cursoLe, qualificacoes);

                listaP.add(inserirP);
                todos.add(inserirP);

dependente inserirD = new dependente(nomed, idaded, nomedr, telefoned, grauEnsino, localEnsino, enderecod, horariod);

                listaD.add(inserirD);
                todos.add(inserirD);
package cadastro;

public class aluno extends pessoa implements Comparable<aluno> {

    private String curso, fase, campus;

    public aluno(String nome, int idade, String telefone, String endereco, String campus, String horario, String curso, String fase) {
        super(nome, idade, telefone, endereco, horario);
        this.campus = campus;
        this.curso = curso;
        this.fase = fase;
    }

    public String getCampus() {
        return campus;
    }

    public void setCampus(String campus) {
        this.campus = campus;
    }

    public String getCurso() {
        return curso;
    }

    public void setCurso(String curso) {
        this.curso = curso;
    }

    public String getFase() {
        return fase;
    }

    public void setFase(String fase) {
        this.fase = fase;
    }

    public String toString() {
        return "Nome: " + this.getNome() + " Curso: " + this.curso + " Fase: " + this.fase + " Telefone: " + this.getTelefone() + " Campus: " + this.campus + " Endereço: " + this.getEndereco() + " Horário: " + this.getHorario();
    }

    public int compareTo(aluno o) {
        return this.getNome().compareTo(o.getNome());
    }

}
package cadastro;

public class dependente extends pessoa implements Comparable <dependente> {
// String nome, String nomerd, int idade, String telefone, String grauEnsino, String localEnsino, String endereco, String horario

    public dependente(String nome, int idade, String nomerd, String telefone, String grauEnsino, String localEnsino, String endereco, String horario) {
        super(nome, idade, telefone, endereco, horario);
        this.nomerd = nomerd;
        this.grauEnsino = grauEnsino;
        this.localEnsino = localEnsino;
    }

    private String nomerd, grauEnsino, localEnsino;

    public String getGrauEnsino() {
        return grauEnsino;
    }

    public void setGrauEnsino(String grauEnsino) {
        this.grauEnsino = grauEnsino;
    }

    public String getLocalEnsino() {
        return localEnsino;
    }

    public void setLocalEnsino(String localEnsino) {
        this.localEnsino = localEnsino;
    }

    public String getNomerd() {
        return nomerd;
    }

    public void setNomerd(String nomerd) {
        this.nomerd = nomerd;
    }

    public String toString(String nome, String nomerd, int idade, String telefone, String grauEnsino, String localEnsino, String endereco, String horario) {
        return "Nome: " + this.getNome() + " Idade: " + this.getIdade() + " Responsável: " + nomerd + " Telefone: " + this.getTelefone() + " Grau de ensino: " + this.grauEnsino + " Local de ensino: " + this.localEnsino + " Endereço: " + this.getEndereco() + " Horário: " + this.getHorario();
    }

    public int compareTo(dependente o) {
        return this.getNome().compareTo(o.getNome());
    }
}
package cadastro;

public class pessoa {

    private String nome, telefone, endereco, campus, horario;
    private Integer idade;

    public pessoa(String nome, int idade, String telefone, String endereco, String horario) {
        this.nome = nome;
        this.idade = idade;
        this.telefone = telefone;
        this.endereco = endereco;
        this.horario = horario;

    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public String getHorario() {
        return horario;
    }

    public void setHorario(String horario) {
        this.horario = horario;
    }

}
package cadastro;

public class professor extends pessoa implements Comparable<professor> {

    private String cursoLe, qualificacoes, campus;

    public professor(String nome, int idade, String qualificacoes, String telefone, String cursoLe, String campus, String endereco, String horario) {
        super(nome, idade, telefone, endereco, horario);
        this.cursoLe = cursoLe;
        this.campus = campus;
        this.qualificacoes = qualificacoes;
    }

    public String getCursoLe() {
        return cursoLe;
    }

    public void setCursoLe(String cursoLe) {
        this.cursoLe = cursoLe;
    }

    public String getQualificacoes() {
        return qualificacoes;
    }

    public void setQualificacoes(String qualificacoes) {
        this.qualificacoes = qualificacoes;
    }

    public String getCampus() {
        return campus;
    }

    public void setCampus(String campus) {
        this.campus = campus;
    }

    public String toString(String nome, int idade, String qualificacoes, String telefone, String cursoLe, String campus, String endereco, String horario) {
        return "Nome: " + this.getNome() + " Qualificações: " + this.qualificacoes + " Telefone: " + this.getTelefone() + " Curso Lecionável: " + this.cursoLe + " Campus: " + this.campus + " Endereço: " + this.getEndereco() + " Horário: " + this.getHorario();
    }

    public int compareTo(professor o) {
        return this.getNome().compareTo(o.getNome());
    }
}

Desse modo não está rolando, pois ele retorna:

[Nome:1Curso:1Fase:1Telefone:1Campus:1Endereço:1Horário:1, cadastro.professor@14ae5a5, cadastro.dependente@7f31245a]

  • Ja tentou modificar o metodo toString() das classes Professor e Dependente ?

    Ilario Junior David   12 de nov de 2014
  • Eles estão corretos, mas cada classe tem suas variáveis específicas, acho que é por isso que ocorre o conflito.. Mas não sei como resolver

    Gustavo   12 de nov de 2014
  • Edite sua pergunta e coloque nela as classes Aluno, Professor e Dependente.

    lucastody   12 de nov de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.