Chaîne Java compareTo ()

La syntaxe du compareTo() la méthode est:

 string.compareTo(String str) 

Paramètres compareTo ()

le compareTo() La méthode prend un seul paramètre.

  • str– la chaîne à comparer

compareTo () Valeur renvoyée

  • renvoie 0si les chaînes sont égales
  • renvoie un entier négatifsi la chaîne vient avant le str argument dans l’ordre du dictionnaire
  • renvoie un entier positifsi la chaîne vient avant le 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,

  • str1etstr2sont égaux. Par conséquent, str1.compareTo(str2) renvoie 0.
  • str1vient avantstr3dans l’ordre du dictionnaire. Par conséquent, str1.compareTo(str3) renvoie négatif, et str3.compareTo(str1) renvoie 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

le compareTo() 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 en considération la casse des lettres.

Remarques:

  • Si vous devez comparer deux chaînes en ignorant les différences de casse, utilisez leChaîne Java compareToIgnoreCase ()méthode.
  • Si tu réussis null à la compareTo()