Comparer des chaînes de caractères avec l'instruction if de Java

Haider Ali 12 octobre 2023
  1. Comparer une chaîne de caractères avec l’instruction Java if en utilisant l’opérateur ==
  2. Comparez la chaîne avec l’instruction Java if à l’aide de la fonction equal()
  3. Comparez la chaîne avec l’instruction Java if à l’aide de la fonction compareTo()
Comparer des chaînes de caractères avec l'instruction if de Java

Dans ce guide, nous allons parler de la comparaison de chaînes d’instructions if en Java. Il existe généralement trois façons de comparer deux chaînes. Vous devez comprendre les bases de ces opérations et découvrir ce que vous comparez (contenu, référence ou différence de chaîne). Examinons cela de plus près.

Comparer une chaîne de caractères avec l’instruction Java if en utilisant l’opérateur ==

Lorsque nous comparons deux chaînes via l’instruction if à l’aide de l’opérateur ==, nous comparons le numéro de référence de ces chaînes, mais vous remarquerez que cela fonctionnera de la même manière que la comparaison du contenu. S’il y a deux chaînes avec le même contenu, il les affichera comme égales. Pourquoi? Car le compilateur de Java est suffisamment mature pour stocker les deux chaînes avec le même contenu dans la même mémoire.

Comparez la chaîne avec l’instruction Java if à l’aide de la fonction equal()

Grâce à la fonction equal(), nous pouvons comparer le contenu des deux chaînes. Il verra si le contenu est similaire. C’est sensible à la casse, mais vous pouvez également ignorer la sensibilité à la casse en utilisant à la place la fonction equalsIgnoreCase().

Comparez la chaîne avec l’instruction Java if à l’aide de la fonction compareTo()

Dans cette fonction, nous obtenons la différence entre deux chaînes. Nous les comparons lexicographiquement en fonction de la valeur Unicode de chaque caractère. Vous obtiendrez une valeur 0 si les deux chaînes sont égales, et vous obtiendrez une valeur inférieure à la valeur 0 si la chaîne est inférieure à l’autre chaîne et vice versa.

Jetez un œil au code explicite suivant.

public class Main {
  public static void main(String[] args) {
    String str1 = "jeff";
    String str2 = "jeff";
    String str3 = new String("jeff"); // to declare
    String str10 = new String("jeff");
    System.out.println("-----------------Using == Operator ----------------");
    // using == opreater use for Refrence Comapring instead of content comparison.
    if (str1
        == str2) { // equal and if Conditon True because both have same Refrence Memory address.
      System.out.println("Str1 And Str2 Equal");
    }
    if (str1
        == str3) { // Not Equal If Condition False Because == opreater compares objects refrence.
      System.out.println("Str1 and Str3 are equals");
    }
    if (str10
        == str3) { // Not Equal If Condition False Because == opreater compares objects refrence.
      System.out.println("Str10 and Str3 are equals");
    }

    System.out.println("-----------------Using .equal Method----------------");
    // Using .equals Method. for String Content Comparison.

    if (str1.equals(str2)) { // equal and if Conditon True because both have same string
      System.out.println("Str1 And Str2 Equal");
    }
    if (str1.equals(str3)) { // Equal If Condition true String have same Content.
      System.out.println("Str1 and Str3 are equals");
    }
    // compare two strings diffrence
    System.out.println("-----------------Using Compare Method----------------");
    // first string.toCompare(String2)

    System.out.println(str1.compareTo(str2));
  }
}

Production :

Output:
-----------------Using == Operator ----------------
Str1 And Str2 Equal
-----------------Using .equal Method----------------
Str1 And Str2 Equal
Str1 and Str3 are equals
-----------------Using Compare Method----------------
0
Auteur: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Article connexe - Java String