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

Não entedi porque o metodo compareTo é tipo int

oOmetodo compareTo não deveria ser String, se estou comparando títulos?

Estou falando do compareTo na correção do exercicio.

2 respostas

Bernadete,

O compareTo retorna 0 (zero) se o número informado é igual. -1 se é menor que o argumento e 1 se for maior que o argumento.

Se você pensar bem, só queremos saber isso, se é igual, menor ou maior. Bem simples, além de ser matematicamente mais rápido comparar com números inteiros do que com String.

solução!

Você se refere ao retorno do método compareTo presente na interface Comparable, correto?

Esse método tem a função de comparar dois objetos numa ordem de grandeza, sendo que a comparação é entre o objeto que é dono do método (this) e o passado por parâmetro. O fato do retorno ser int se deve a necessidade de saber se os objetos são iguais, ou se algum é maior, criando três possibilidades. Sendo assim, o retorno segue a seguinte lógica:

objetos iguais retorna 0;

quando o "this" é menor, retorna um número negativo (geralmente -1);

quando o "this" é maior, retorna um número positivo (geralmente 1).

Ainda assim, vale a pena conferir a documentação: https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software