Chaîne Java compareTo ()

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 Stringclasse.

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 stringprécède l' strargument dans l'ordre du dictionnaire
  • renvoie un entier positif si le stringvient après l' strargument 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 et str3.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à la compareTo()méthode, vous obtiendrez une erreur.

Tutoriel associé: Java String equals ()

Articles intéressants...