La méthode Java String compareTo () compare deux chaînes de manière lexicographique (dans l'ordre du dictionnaire). La comparaison est basée sur la valeur Unicode de chaque caractère dans les chaînes.
La syntaxe de la compareTo()
méthode est:
string.compareTo(String str)
Ici, string est un objet de la String
classe.
Paramètres compareTo ()
La compareTo()
méthode prend un seul paramètre.
- str - la chaîne à comparer
compareTo () Valeur renvoyée
- renvoie 0 si les chaînes sont égales
- renvoie un entier négatif si le
string
précède l'str
argument dans l'ordre du dictionnaire - renvoie un entier positif si le
string
vient après l'str
argument dans l'ordre du dictionnaire
Exemple: chaîne Java compareTo ()
class Main ( public static void main(String() args) ( String str1 = "Learn Java"; String str2 = "Learn Java"; String str3 = "Learn Kolin"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); // 0 // comparing str1 with str3 result = str1.compareTo(str3); System.out.println(result); // -1 // comparing str3 with str1 result = str3.compareTo(str1); System.out.println(result); // 1 ) )
Ici,
- str1 et str2 sont égaux. Par conséquent,
str1.compareTo(str2)
renvoie 0. - str1 vient avant str3 dans l'ordre du dictionnaire. Par conséquent,
str1.compareTo(str3)
renvoie négatif etstr3.compareTo(str1)
retourne positif.
Exemple 2: vérifier si deux chaînes sont égales
class Main ( public static void main(String() args) ( String str1 = "Learn Python"; String str2 = "Learn Java"; // if str1 and str2 are equal, the result is 0 if (str1.compareTo(str2) == 0) ( System.out.println("str1 and str2 are equal"); ) else ( System.out.println("str1 and str2 are not equal"); ) ) )
Production
str1 et str2 ne sont pas égaux
La compareTo()
méthode prend en compte la casse des lettres (majuscules et minuscules).
Exemple 3: compareTo () With Case
class Main ( public static void main(String() args) ( String str1 = "Learn Java"; String str2 = "learn Java"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); // -32 ) )
Quand "Learn Java"
est comparé à "learn Java"
, nous n'obtenons pas 0. C'est parce que compareTo()
prend la casse en considération.
Remarques:
- Si vous devez comparer deux chaînes en ignorant les différences de casse, utilisez la méthode Java String compareToIgnoreCase ().
- Si vous passez
null
à lacompareTo()
méthode, vous obtiendrez une erreur.
Tutoriel associé: Java String equals ()