public class Titulo implements Comparable<Titulo>{
public String nome;
public Titulo(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
@Override
public int compareTo(Titulo outroTitulo) {
return this.nome.compareTo(outroTitulo.nome);
}
}
import java.util.*;
public class main {
public static void main(String[] args) {
List<Titulo> listaNomes = new ArrayList<>();
listaNomes.add(new Titulo("Amor"));
listaNomes.add(new Titulo("Por"));
listaNomes.add(new Titulo("Bichos"));
listaNomes.add(new Titulo("Grandes"));
Collections.sort(listaNomes);
for (Titulo titulo : listaNomes) {
System.out.println(titulo.nome);
}
listaNomes.sort(Comparator.reverseOrder());
for (Titulo titulo : listaNomes) {
System.out.println(titulo.nome);
}
System.out.println(listaNomes);
}
}
Queria entender o por que neste caso foi necessário o uso do for para a impressão do Título, uma vez que se coloco para imprimir apenas apenas listanome ele me retorna:
[Exercicio_2.Titulo@3feba861, Exercicio_2.Titulo@5b480cf9, Exercicio_2.Titulo@6f496d9f, Exercicio_2.Titulo@723279cf]