Introduction à la comparaison de chaînes en Java

En Java, une séquence de caractères est appelée chaîne. Il est immuable (ne peut pas être modifié une fois créé) et aide à effectuer plusieurs opérations. En outre, une comparaison de chaîne est une tâche de programmation courante en Java. Elle peut être effectuée de plusieurs manières et sera discutée en détail dans les sections suivantes.

Comment comparer String en Java?

Comme déjà discuté, la comparaison de chaînes peut être effectuée en utilisant différentes méthodes. Elles sont:

  • Utilisation de la méthode equals ()
  • Utilisation de la méthode compareTo ()
  • Utilisation de la méthode equalsIgnoreCase ()
  • Utilisation de la méthode compareToIgnoreCase ()

1. Méthode Equals ()

La méthode equals () compare deux chaînes en fonction du contenu de la chaîne. Si les chaînes ne sont pas dans le même cas (c'est-à-dire majuscules ou minuscules), elles seront considérées comme non égales. Voici un exemple de la méthode equals ().

Programme

public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
//string comparison using equals method
if (str1.equals(str2)) (
System.out.println("Both str1 : " + str1 + " and str2 : "+ str2 +" are equal");
)
else
(
System.out.println("Both str1 : " + str1 + " and str2 : "+ str2 +" are not equal");
)
String str3 = "Happy";
String str4 = "hai";
if (str3.equals(str4)) (
System.out.println("Both str3 : " + str3 + " and str4 : "+ str4 +" are equal");
)
else
(
System.out.println("Both str3 : " + str3 + " and str4 : "+ str4 +" are not equal");
)
String str5 = "Happy";
String str6 = "hard";
if (str5.equals(str6)) (
System.out.println("Both str5 : " + str5 + "and str6 : "+ str6 +" are equal");
)
else
(
System.out.println("Both str5 : " + str5 + " and str6 : "+ str6 +" are not equal");
)
)
)

Production:

Explication du code ci-dessus

  • Ici, deux chaînes str1 et str2 sont égales car elles sont du même cas. (Affaire de chameau).
  • De plus, Str3 et Str4, str5 et str6 ne sont pas égaux.

2. Comparaison avec la méthode ()

Dans cette méthode, les valeurs sont comparées lexicographiquement et renvoient une valeur de type entier. La valeur est basée sur le fait que la première chaîne soit égale, inférieure ou supérieure à la 2 e chaîne.

Deux chaînes str1 et str2 sont présentes et

  • si str1 == str2, alors 0
  • si str1> str2, alors la valeur + ve
  • si str1 <str2, alors -ve valeur

Programme

//Java program to demonstrate compareTo method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
String str3 = "Happy";
String str4 = "hai";
//string comparison using compareTo method
System.out.println(str1.compareTo(str2));
System.out.println(str3.compareTo(str4));
String str5 = "Happy";
String str6 = "Hardest one";
System.out.println(str5.compareTo(str6));
)
)

Production:

Explication du code ci-dessus

  • Puisque deux chaînes str1 et str2 sont égales lexicographiquement, 0 est retourné.
  • En même temps, str3 est inférieur à str4 et str5 est inférieur à str6 lexicographiquement. Ainsi, une valeur négative est retournée.

3. Equals Ignore Case Method

En utilisant cette méthode, deux chaînes seront comparées sans considérer si la chaîne est en majuscule ou en minuscule.

Programme

//Java program to demonstrate equalsIgnoreCase method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "balloon";
//string comparison using equalsIgnoreCase method
System.out.println(str1.equalsIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println(str3.equalsIgnoreCase(str4));
String str5 = "Happy";
String str6 = "hard";
System.out.println(str5.equalsIgnoreCase(str6));
)
)

Production:

Explication du code ci-dessus

  • Puisque la méthode equalsIgnoreCase est utilisée, str1 et str2 sont égales même si elles sont de cas différents (minuscules et majuscules). Donc, True est retourné.
  • Dans le cas de str3 et str4, str5 et str6, deux chaînes sont différentes. Par conséquent, false est renvoyé.

4. Comparez avec Ignore Case Method

Cette méthode est similaire à la méthode compareTo où les chaînes sont comparées lexicographiquement. La différence est que la comparaison ne sera pas affectée, que les chaînes soient en majuscules ou en minuscules.

Programme

//Java program to demonstrate compareToIgnoreCase method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "balloon";
//string comparison using compareToIgnoreCase method
System.out.println(str1.compareToIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println(str3.compareToIgnoreCase(str4));
String str5 = "Happy";
String str6 = "Hard";
System.out.println(str5.compareToIgnoreCase(str6));
)
)

Production:

Explication du code ci-dessus

  • Ici, une combinaison de compareTo et Ignorecase est effectuée. Puisque str1 et str2 sont égaux sans tenir compte des cas, 0 est renvoyé.
  • De même, une valeur positive est renvoyée car str3 est supérieure à str4 et une valeur négative est renvoyée car str5 est inférieure à str6.

Voyons maintenant toutes les méthodes mentionnées ci-dessus dans un seul programme afin de mieux comprendre la comparaison des chaînes.

Programme

//Java program to demonstrate different methods for string comparison
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
System.out.println("Comparison of str1 : " + str1 + " and str2 : " + str2);
System.out.println("Using equals method ");
//string comparison using equals method
if (str1.equals(str2)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
//string comparison using compareTo method
System.out.println(str1.compareTo(str2));
System.out.println("Using equalsIgnoreCase method ");
//string comparison using equalsIgnoreCase method
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println("Using compareToIgnoreCase method ");
//string comparison using compareToIgnoreCase method
System.out.println(str1.compareToIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println("\nComparison of str3 : " + str3 + " and str4 : " + str4);
System.out.println("Using equals method ");
if (str3.equals(str4)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
System.out.println(str3.compareTo(str4));
System.out.println("Using equalsIgnoreCase method ");
System.out.println(str3.equalsIgnoreCase(str4));
System.out.println("Using compareToIgnoreCase method ");
System.out.println(str3.compareToIgnoreCase(str4));
String str5 = "Happy";
String str6 = "hard";
System.out.println("\nComparison of str5 : " + str5 + " and str6 : " + str6);
System.out.println("Using equals method ");
if (str5.equals(str6)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
System.out.println(str5.compareTo(str6));
System.out.println("Using equalsIgnoreCase method ");
System.out.println(str5.equalsIgnoreCase(str6));
System.out.println("Using compareToIgnoreCase method ");
System.out.println(str5.compareToIgnoreCase(str6));
)
)

Production:

Conclusion

Une chaîne est une séquence de caractères et ses objets sont immuables. Il existe différentes méthodes telles que equals, compareTo, etc. pour comparer les chaînes. Toutes ces méthodes sont utilisées en fonction des exigences. Ils sont expliqués en détail dans la section ci-dessus.

Articles recommandés

Ceci est un guide sur la comparaison de chaînes en Java. Ici, nous discutons de l'introduction à la comparaison de chaînes en Java, comment comparer les chaînes en Java avec les codes et les sorties. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus–

  1. Mot-clé protégé en Java
  2. JTextArea en Java
  3. GridBagLayout en Java
  4. Méthodes de tableau en Java