java string compareto method with programming examples
Neste tutorial, aprenderemos sobre o método Java String compareTo () e veremos como e quando usar compareTo em Java junto com sintaxe e exemplos:
Você entenderá como manipular Java String com a ajuda do método compareTo () Java. Os tipos de saída que obteremos por meio do método Java compareTo () também serão abordados neste tutorial.
Depois de ler este tutorial, você definitivamente será capaz de entender e escrever os programas Java String que requerem o método .compareTo () para manipulação de String.
=> Confira o guia de treinamento Java perfeito aqui.
O que você aprenderá:
Método Java String compareTo ()
O método Java String compareTo () é usado para verificar se duas Strings são idênticas ou não. Como o nome sugere, ele compara duas Strings fornecidas e descobre se elas são iguais ou qual é a maior.
O tipo de retorno do método Java compareTo () é um número inteiro e a sintaxe é fornecida como:
int compareTo(String str)Na sintaxe acima, str é uma variável String que está sendo comparada à String invocadora.
Por exemplo: String1.compareTo (String2);
Outra variação de Java compareTo () é
int compareTo(Object obj)Na sintaxe acima, compararemos uma String com um Object obj.
Por exemplo ,String1.compareTo (“Este é um objeto String”);
Aqui, “Este é um objeto String” é um argumento que estamos passando para compareTo () e ele o compara com String1.
Tipos de saída do método Java compareTo ()
A saída possui três tipos baseados no valor de saída.
Abaixo está a tabela que explica todos os três tipos de valores de saída.
| compareTo () Valor de saída | Descrição |
|---|---|
| Zero | Duas cordas são iguais. |
| Maior que Zero | O String de chamada é maior que str. |
| Menos que zero | O String de chamada é menor que str. |
Vamos entender essas três variantes em detalhes com a ajuda de um exemplo.
Um exemplo de programação
Aqui está um exemplo do método compareTo () Java. A comparação é baseada na diferença no valor ASCII dos caracteres. Em termos gerais, uma String é menor que a outra se vier antes da outra no dicionário.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Grand Theft Auto'; String str2 = 'Assassin Creed'; String str3 = 'Call of Duty'; String str4 = 'Need for Speed'; String str5 = 'Grand Theft Auto'; System.out.println(str1.compareTo(str2)); // Since 'A' is greater than 'G' by 6 characters, so it will return 6 System.out.println(str2.compareTo(str3)); // Since 'C' is smaller than 'A' by 2 characters, so it will return -2 System.out.println(str3.compareTo(str4)); //Since 'N' is smaller than 'C' by 11 characters, so it will return -11 System.out.println(str4.compareTo(str1)); //Since 'G' is Greater than 'N' by 7 characters, so it will return 7 System.out.println(str1.compareTo(str5)); //Strings are equal } }Resultado:

Explicação do Exemplo
No exemplo acima, pegamos cinco Strings de entrada e executamos uma comparação básica entre elas usando o método Java .compareTo (). Na primeira comparação, temos ‘A’ maior que ‘G’ por 6 caracteres na série do alfabeto, então ele retorna +6. Na segunda comparação, temos 'C' menor que 'A' em 2 caracteres, então ele retorna -2.
Na última comparação (entre str1 e str5), como ambas as Strings são iguais, ele retorna 0.
Vários Cenários
Vamos entender o método .compareTo () em detalhes. Aqui, tentaremos analisar diferentes cenários e o resultado de cada caso.
Cenário 1: Considere as duas seguintes Strings. Vamos compará-los e ver o resultado.
String str1 = “Teste de software”;
String str2 = “Ajuda para teste de software”;
Qual será a saída de str1.compareTo (str2)?
Responda: Como str2 contém 5 caracteres (um espaço + quatro caracteres) a mais que a primeira String. A saída deve ser -5. Da mesma forma, quando comparamos str2 com str1, a saída deve ser +5.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Software Testing'; String str2 = 'Software Testing Help'; System.out.println(str1.compareTo(str2)); // Since str2 contains 5 characters more than the str1, output should be -5 System.out.println(str2.compareTo(str1)); // Since str2 contains 5 characters less than the str1, output should be +5 } }Resultado:

Cenário 2: Considere as duas seguintes Strings. Vamos compará-los e ver o resultado.
String str1 = “”;
String str2 = ”“;
é a chave de segurança da rede igual à senha
Qual será a saída de str1.compareTo (str2)?
Responda: Como str2 contém um caractere (espaço) a mais do que str1, deve dar a saída como -1.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = ''; String str2 = ' '; System.out.println(str1.compareTo(str2)); //Since str2 contains one character more than str1, it will give -1 System.out.println(str2.compareTo(str1)); //Since str1 contains one character less than str1, it will give 1 } }Resultado:

Cenário 3: Considere as duas seguintes Strings. Vamos compará-los e ver o resultado.
String str1 = “SAKET”;
String str2 = “saket”;
Qual será a saída de str1.compareTo (str2)?
Responda: Aqui as Strings são iguais, mas str1 tem maiúsculas, enquanto str2 tem minúsculas. Essa era a limitação do método Java compareTo (). A saída que obteremos será diferente de zero. Para superar esse problema, Java introduziu outra variação do método .compareTo () que é
.compareToIgnoreCase ()
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); //The ASCII representation of the lowercase and uppercase has a difference of 32 } }Resultado:

Método Java String compareToIgnoreCase ()
Como discutimos o problema na incompatibilidade de maiúsculas e minúsculas (Cenário 3), já temos outra variante do método .compareTo () que irá ignorar a incompatibilidade de maiúsculas e minúsculas das Strings.
A sintaxe deste método é fornecida como
int compareToIgnoreCase(String str)Todo o resto permanece o mesmo, exceto o fato de que .compareToIgnoreCase () não leva a diferença de maiúsculas e minúsculas em consideração.
Um exemplo de programação
Aqui está um exemplo do método compareTo () Java. Neste exemplo, ilustramos a diferença nas saídas de Java compareTo () e compareToIgnoreCase (). Java compareTo () dará uma diferença de -32 enquanto compareToIgnoreCase () dará uma diferença de 0.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); System.out.println(str1.compareToIgnoreCase(str2)); } }Resultado:

Explicação do exemplo:
No exemplo acima, pegamos duas Strings que têm o mesmo valor, mantendo uma String em maiúsculas e outra em minúsculas. Agora, um método Java .compareTo () fornecerá resultados com base na diferença ASCII no valor de Minúsculas e Maiúsculas, pois levará a caixa dos caracteres em consideração.
Mas Java .compareToIgnoreCase () não levará maiúsculas e minúsculas em consideração e dará um resultado como 0, o que significa que ambas as strings são iguais.
perguntas frequentes
Q # 1) Qual é a diferença entre ==, equals e .compareTo ()?
Resposta: Listadas abaixo estão as principais diferenças entre ==, equals () e compareTo ().
| !ERRO! operador inesperado '=' | é igual a() | comparado a() |
|---|---|---|
| !ERRO! operador inesperado '=' | equals () é um método. | compareTo () é um método. |
| !ERRO! operador inesperado '=' | O método equals () faz a comparação do conteúdo. | compareTo () faz a comparação com base no valor ASCII. |
| O tipo de retorno é booleano. | O tipo de retorno é booleano. | O tipo de retorno é inteiro. |
| Ele usa a referência da variável String, portanto, os endereços de memória devem ser os mesmos durante a comparação. | Não requer que os objetos sejam ordenados logicamente. | Requer que os objetos sejam ordenados logicamente. |
Aqui está um exemplo de programação que ilustra a diferença.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = new String('Testing'); String str2 = 'Testing'; System.out.println(str1.compareTo(str2)); System.out.println(str1 ==str2); System.out.println(str1.equals(str2)); } }Resultado:

P # 2) O método Java compareTo () diferencia maiúsculas de minúsculas?
Responda: sim. O método Java .compareTo () considera as maiúsculas e minúsculas dos caracteres e faz distinção entre maiúsculas e minúsculas.
Abaixo está a ilustração.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }Resultado:
o melhor software de texto para fala

Q # 3) Como compareTo () funciona em Java?
Responda: O método Java compareTo () realmente compara os valores ASCII dos caracteres de uma String.
Digamos que vamos comparar uma vírgula e um caractere de espaço usando o método .compareTo (). Como sabemos, um caractere de espaço tem um valor ASCII 32, enquanto uma vírgula tem um valor ASCII 44. A diferença entre o valor ASCII de espaço e vírgula é 12.
Abaixo está o exemplo de programação.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }Resultado:

P # 4) Como encontrar o comprimento de uma String usando o método Java .compareTo ()?
Responda: A seguir está o programa para encontrar o comprimento de uma string usando o método Java .compareTo ().
Neste exemplo, pegamos uma String cujo comprimento temos que encontrar e uma String vazia. Em seguida, comparamos a String com a String vazia. A diferença entre eles será o comprimento da String.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }Resultado:

P # 5) O que o método compareTo retorna?
Responda: O tipo de retorno do método Java compareTo () é inteiro. O valor inteiro pode ser zero, inteiro positivo ou inteiro negativo.
Conclusão
Neste tutorial, entendemos o método Java String compareTo () em detalhes. A funcionalidade básica, os detalhes sobre a implementação e o uso, especialmente os exemplos de programação, foram fornecidos para uma melhor compreensão do conceito relacionado ao método String compareTo ().
Leia também = >> Interfaces Java comparáveis e comparadoras
Usando este método, você pode comparar duas Strings e muitos outros usos ou áreas de aplicação, como encontrar o comprimento da String também é possível com a ajuda do método compareTo (), que foi abordado nas perguntas mais frequentes.
=> Visite aqui a série exclusiva de tutoriais de treinamento em Java.
Leitura recomendada
- Tutorial de Java String | Métodos Java String com exemplos
- Método Java String Split () - Como dividir uma string em Java
- Tutorial Java String com String Buffer e String Builder
- Funções de string Python
- Java String Array - Tutorial com exemplos de código
- Interface ListIterator em Java com exemplos
- Interface Java e tutorial de classe abstrata com exemplos
- OOP Java: introdução à programação orientada a objetos em Java