Maison >Java >javaDidacticiel >Comparaison de chaînes en Java

Comparaison de chaînes en Java

PHPz
PHPzoriginal
2024-08-30 16:27:551159parcourir

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 permet d'effectuer plusieurs opérations. En outre, une comparaison de chaînes est une tâche de programmation courante en Java. Cela peut être réalisé de plusieurs manières, et cela sera discuté en détail dans les sections suivantes.

Comment comparer une chaîne en Java ?

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

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

  • 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 la même casse (c'est-à-dire majuscule ou minuscule), elles seront considérées comme non égales. Vous trouverez ci-dessous 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");
}
}
}

Sortie :

Comparaison de chaînes en Java

Explication du code ci-dessus

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

2. Méthode Comparer à()

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

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

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

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));
}
}

Sortie :

Comparaison de chaînes en Java

Explication du code ci-dessus

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

3. Égal à la méthode Ignorer la casse

En utilisant cette méthode, deux chaînes seront comparées sans se demander 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));
}
}

Sortie :

Comparaison de chaînes en Java

Explication du code ci-dessus

  • Puisque la méthode equalsIgnoreCase est utilisée, str1 et str2 sont égaux même s'ils sont dans des casses différentes (petites casses et majuscules). Ainsi, True est renvoyé.
  • Dans le cas de str3 et str4, str5 et str6, les deux chaînes sont différentes. Par conséquent, false est renvoyé.

4. Comparer avec la méthode Ignorer la casse

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 si les chaînes sont 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));
}
}

Sortie :

Comparaison de chaînes en Java

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 lorsque str3 est supérieur à str4, et une valeur négative est renvoyée lorsque str5 est inférieur à str6.

Voyons maintenant toutes les méthodes mentionnées ci-dessus dans un seul programme pour mieux comprendre la comparaison de 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));
}
}

Sortie :

Comparaison de chaînes en Java

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., disponibles pour comparer les chaînes. Toutes ces méthodes sont utilisées en fonction des besoins. Ils sont expliqués en détail dans la section ci-dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Nombres premiers en JavaArticle suivant:Nombres premiers en Java