Comparando inteiros
Ao comparar dois valores inteiros, Java oferece algumas opções. Em Java, todos os tipos de dados primitivos (como int, float, double e byte) têm classes de wrapper individuais. Integer é uma classe wrapper de int e fornece vários métodos e variáveis que você pode usar em seu código para trabalhar com variáveis inteiras. Um dos métodos é o método compareTo () . É usado para comparar dois valores inteiros. Ele retornará -1, 0 ou 1, dependendo do resultado da comparação. O método compareTo () retornará os seguintes valores:
- -1: Objeto 1 é menor que Objeto 2
- 0: Objeto 1 é igual ao Objeto 2
- 1: o objeto 1 é maior que o objeto 2
Para usar compareTo (), você precisa criar uma nova instância de uma classe Integer. Em nosso primeiro exemplo, daremos à nova classe um valor específico, mas você também pode passar outra variável inteira. Portanto, você está criando uma instância de um Integer. Em vez de um valor inteiro (minúsculas) de 10, um novo objeto Integer inteiro é criado, com um valor de 10, como este:
![]() |
As variáveis value1 e value2 são variáveis de instância porque representam instâncias da classe Integer. Isso nos permite executar o método compareTo () sobre eles. Como 10 é menor que 20, esperaríamos que o valor de retorno fosse -1. Quando executamos o código, prova ser o caso, como vemos aqui:
![]() |
Declarações If / Then / Else
Como Java é uma linguagem orientada a objetos, tendemos a gravitar em torno de métodos que oferecem suporte a objetos e classes. Portanto, usamos a classe Integer e seus métodos para comparar inteiros. Mas ainda existe um método testado e comprovado para comparar inteiros: as boas e velhas declarações if / then / else.
No próximo exemplo de código, declararemos alguns inteiros e verificaremos se eles são iguais, menores ou maiores que entre si. Enquanto perdemos a função padrão de compareTo (), podemos definir nosso próprio método para lidar com a comparação.
Lembre-se de que os operadores de comparação Java são assim:
Operador | Descrição |
---|---|
> | Maior que |
< | Menor que |
== | Igual |
<= | Menor ou igual |
> = | Maior que ou igual |
Ok, agora que vimos os operadores de comparação, aqui está o exemplo de código:
![]() |
Comparando os Métodos
Você notará que há muito código no método if / then. Embora seja útil exibir nossos próprios valores, linhas adicionais de código podem apresentar mais espaço para erros. Com o método compareTo (), entretanto, a resposta é muito clara: -1, 0 ou 1. Contanto que você saiba qual variável é o objeto 1 e qual é o objeto 2 , este método é o mais limpo.
A votação final para o método compareTo () vem do fator Nulo. Quando você cria uma nova instância de uma classe, Java gosta de ter um valor para a variável de instância. Em outras palavras, você deve passar um valor para a classe Integer ao criar uma nova instância. Se você não passar um valor para a classe inteira, receberá uma mensagem de erro semelhante a esta:
![]() |
Resumo da lição
Em resumo, o Java fornece uma classe de wrapper Integer para variáveis inteiras. Quando criamos uma nova instância da classe Integer, cada nova variável que representa essa instância é uma variável de instância . Podemos usar o método compareTo () dessa classe para comparar valores inteiros. Valores de -1, 0 e 1 são retornados, com base na comparação dos dois valores. Alternativamente, também podemos escrever instruções if / then / else para comparar valores inteiros. Eles são perfeitamente válidos, mas geram código extra onde podem ocorrer erros.