[quote=andredecotia]brigado pelas respostas gente, mas
o q vc quer dizer com maior ou menor? em questão númerica mesmo? como assim um objeto maior ou menor q outro[/quote]
Se for um número, a comparação é numérica. Se for uma String, a comparação é pela ordem alfabética, ou seja, é menor aquela que vem primeiro no dicionário.
Mas você deve estar perguntando… e para as classes que criamos, como Carro, Pessoa, Aluno, Funcionario, que diabos é isso de um ser maior que o outro? :evil:
A resposta é simples, você como criador do sistema é quem decide! Pense no seguinte: Dentro do universo que estou programando qual deve ser a regra para saber se um objeto é maior do que outro? Se eu fosse ordená-los qual deveria vir primeiro?
Justamente essa regra que deve ser implementada no compareTo. Geralmente escolhe-se um ou mais atributos e faz-se a comparação desses atributos.
Na mensagem acima tem um exemplo, em que a comparação entre objetos do tipo Aluno é baseada no ID (que pode ser o número de matrícula por exemplo). Por que ele escolheu o ID? Porque isso é o que faz mais sentido para o projeto dele, toda vez que uma lista de alunos for ordenada a ordenação deve ser por número de matrícula.
Poderia ser pelo nome, nesse caso a ordenação mostraria os alunos em ordem alfabética.
Se fossem os alunos de uma lista de classificação de vestibular, a ordenação poderia ser pela nota em ordem decrescente. Quem teve a melhor nota vem em primeiro, e o pior em último.
Tudo depende do que o cliente mandou.