Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Dúvida no método compareTo

@Override 
    public int compareTo(Titulo outroTitulo) {
        return this.getNome().compareTo(outroTitulo.getNome());
    }

Fiquei com uma dúvida nesse trecho: O compareTo será sempre tipo int? Por que nesse caso não utilizamos public String, uma vez que o método vai retornar a comparação entre os nomes dos títulos?

2 respostas
solução!

Prezada, o método compareTo é definido pela interface Comparable e é usado para estabelecer uma ordem natural entre objetos. Ele sempre retorna um valor inteiro, que é o resultado da comparação entre os objetos.

Esse valor não é a comparação em si, mas sim um indicador do resultado da comparação, veja:

  • Um valor negativo se o objeto atual for menor que o objeto comparado.
  • Zero se os dois objetos forem iguais.
  • Um valor positivo se o objeto atual for maior que o objeto comparado.

A razão pela qual usamos int em vez de String é porque estamos interessados no resultado da comparação (menor, igual ou maior) e não na comparação em si. O método compareTo é utilizado por algoritmos de ordenação, como Collections.sort() e Arrays.sort(), que dependem desses valores inteiros para determinar a ordem dos objetos em uma coleção.

Prezada, se você considerar respondido, favor fechar esse tópico.

Entendi, também tem a ver com a resolução do exercício seguinte. Fez total sentido. Obrigada!