O que é o método Java String compareTo()?
O método compareTo() da classe de string java retorna o valor 0 se ambas as strings forem lexicograficamente iguais. Se a string comparada for maior lexicograficamente, o valor positivo será retornado, caso contrário, o valor negativo será retornado. Portanto, o método Java string compareTo() é usado para comparar duas strings. O valor unicode de cada caractere na string é sempre usado por este método para compará-los. Ao comparar as strings, se alguma delas estiver vazia, sempre retorna o comprimento da string. Se alguma das strings estiver vazia, dois cenários poderão ocorrer. Se a primeira string estiver vazia, ela retornará um valor negativo, caso contrário, retornará um valor positivo. O método Java string.compareTo() por padrão diferencia maiúsculas de minúsculas, mas podemos usar o método compareToIgnoreCase() da classe Java String para ignorar a distinção entre maiúsculas e minúsculas durante a comparação. Este método também retorna um número inteiro negativo, 0 ou positivo, conforme descrito acima.Sintaxe
public int compareTo(string str)
public int compareTo(object obj)
Parâmetros
O método Java string compareTo() recebe uma string ou um objeto como parâmetro, como você pode ver acima na sintaxe.Devoluções
- Retorna 0 se ambos forem lexicograficamente iguais.
- Ele retorna um número inteiro positivo se a string ou objeto comparado for maior lexicograficamente.
- Retorna um número inteiro negativo se um dos comparados for menor lexicograficamente.
Exceções
O método compareTo() retorna 2 exceções.- ClassCastException , se o objeto não puder ser comparado ele retornará esta exceção.
- NullPointerException , se a string for nula, NullPointerException será lançada.
Exemplos de métodos Java String compareTo()
class Main {
public static void main(String[] args) {
// declaring strings to be used in this example for Java string compareTo() method
String str = "Java compareTo() method example";
String str1 = "Java compareTo() method example";
String str2 = "this is Java compareTo() method example";
String str3 = "Java CompareTo() Method Example";
String str4 = "a Java compareTo() method example";
String str5 = new String("Java compareTo() method example");
// comparing the str and str1 strings
System.out.println(str.compareTo(str1));
// comparing the str and str2 strings
System.out.println(str.compareTo(str2));
// comparing the str and str3 strings
System.out.println(str.compareTo(str3));
// comparing the str and str4 strings
System.out.println(str.compareTo(str4));
// comparing the str string and str5 string object
System.out.println(str.compareTo(str5));
}
}
Saída
0 -42 74 -23 0
Como sabemos, as strings str e str1 são iguais lexicograficamente, então retornou 0. Ao comparar str e str2 , ele retornou um valor negativo de 42 porque a string comparada str é menor lexicograficamente, então é negativa e com base no valor unicode t char e J char tem uma diferença de 42, então um valor -42 é retornado. De resto você pode ver os resultados para entender melhor este método.
Exemplo de uma string vazia
public class Main{
public static void main(String args[]){
String str="compareTo()";
// declaring an empty string
String str1="";
String str2="method";
System.out.println(str.compareTo(str1));
System.out.println(str1.compareTo(str2));
}
}
Saída
11 -6
Exemplo de IgnoreCase
public class Main{
public static void main(String args[]){
String str="compareTo()";
// declaring the same string with uppercase letters
String str1="COMPARETO()";
System.out.println(str.compareTo(str1));
System.out.println(str.compareToIgnoreCase(str1));
}
}
Saída
32 0
GO TO FULL VERSION