Good afternoon, I'm starting in Java and I'm having a problem.
I want to sort my list alphabetically. I created a class Pessoa
and another class TestaPessoa
.
Person
public class Pessoa implements Comparable<Pessoa> {
private String nome;
private int idade;
private char sexo;
public Pessoa(String nome,int idade, char sexo) {
this.nome = nome;
this.idade = idade;
this.sexo = sexo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public char getSexo() {
return sexo;
}
public void setSexo(char sexo) {
this.sexo = sexo;
}
public int compareTo(Pessoa comparar) {
int nomeComparar = this.getNome().compareTo(comparar.getNome());
if(nomeComparar > 0)
return -1;
else if (nomeComparar < 0)
return 1;
else return 0;
}
}
TestaPessoa
import java.util.*;
public class TestaPessoa {
public static void main(String[] args) {
Pessoa pessoa1 = new Pessoa("João Fernandes Ferreia", 46, 'M');
Pessoa pessoa2 = new Pessoa("Fernanda Rodrigues Ferreia", 23, 'F');
Pessoa pessoa3 = new Pessoa("Lionice Rodrigues Fernandes", 43, 'F');
List<Pessoa> lista = new ArrayList<Pessoa>();
lista.add(pessoa1);
lista.add(pessoa2);
lista.add(pessoa3);
Collections.sort(lista);
for(int i = 0; i < lista.size(); i++) {
System.out.print(lista.get(i) + "\n");
}
}
}
And my return is:
Pessoa@17d10166
Pessoa@1b9e1916
Pessoa@ba8a1dc