Nao ficou claro porque imprimiu a sujeirinha da referencia do objeto serie, sendo que o nome esta add na lista.
Nao ficou claro porque imprimiu a sujeirinha da referencia do objeto serie, sendo que o nome esta add na lista.
Olá, Walquiria!
Entendo que você está com uma dúvida sobre a ordenação de uma lista em Java. Pelo que entendi, você está trabalhando com uma lista de títulos e está tentando ordená-la em ordem alfabética.
Nesse caso, é importante lembrar que o método Collections.sort()
não sabe como ordenar objetos complexos, como os títulos, por padrão. É necessário implementar a interface Comparable<Titulo>
na classe Titulo
e definir um critério de comparação.
No exemplo que você mencionou, o critério de comparação utilizado foi o nome do título. Para fazer isso, você precisa adicionar a implementação da interface Comparable<Titulo>
na classe Titulo
e implementar o método compareTo()
. Dentro desse método, você pode utilizar o método compareTo()
da classe String
para comparar os nomes dos títulos.
Aqui está um exemplo de como ficaria a implementação do método compareTo()
na classe Titulo
:
public class Titulo implements Comparable<Titulo> {
private String nome;
// outros atributos e métodos da classe
@Override
public int compareTo(Titulo outroTitulo) {
return this.getNome().compareTo(outroTitulo.getNome());
}
}
Dessa forma, quando você chamar o método Collections.sort(lista)
, a lista de títulos será ordenada de acordo com o critério definido no método compareTo()
.
Espero ter esclarecido sua dúvida! Se tiver mais alguma pergunta, é só me dizer. Bons estudos!
Espero ter ajudado e bons estudos!
Agradeço a explicação!! Ficou claro, sim.
Referente a minha dúvida é que na classe Titulo tem a implementacao do metodo toString() que devolve a representacao do objeto e como não fiz a implementaçao na classe Serie, imprimiu o endereço do objeto em memória.