Ignorer les majuscules et les minuscules en Java

Mohammad Irfan 12 octobre 2023
  1. Ignorer la casse à l’aide de la méthode toUppercase() en Java
  2. Ignorer la casse à l’aide de la méthode toLowerCase() en Java
  3. Ignorer la casse à l’aide de la méthode equalsIgnoreCase() en Java
  4. Ignorer la casse à l’aide de la méthode compareToIgnoreCase() en Java
Ignorer les majuscules et les minuscules en Java

Ce didacticiel explique comment ignorer les majuscules et les minuscules d’une chaîne en Java.

Une chaîne est une séquence de caractères, et en Java, c’est une classe contenant également plusieurs méthodes utilitaires. Une chaîne peut être en minuscules ou en majuscules ou un mélange des deux, ce qui est bien, mais cela crée parfois un problème lors de la comparaison de chaînes car chaque caractère a une valeur Unicode unique.

Dans cet article, nous allons apprendre à manipuler la chaîne en ignorant la casse. Nous sommes habitués à comparer deux chaînes à l’aide de la méthode equals(). Cette méthode renvoie true lorsque les deux chaînes sont égales, y compris leurs cas.

Par exemple, regardez l’exemple ci-dessous.

import java.lang.Object;
import java.util.*;
public class SimpleTesting {
  public static void main(String args[]) {
    String a = "SimpleTesting";
    String b = "SimpleTesting";
    String c = "SimpleTesting";
    a.equals(b); // return false
    a.equals(c); // returns true
  }
}

Cela nous amène à nous demander s’il existe un moyen de comparer deux chaînes tout en ignorant leurs cas.

Eh bien, Java nous propose différentes approches pour accomplir cette tâche. Ici, nous allons parler de ces approches en détail :

  • Ignorer la casse avec la méthode toUppercase().
  • Ignorer la casse avec la méthode toLowerCase().
  • Ignorer les cas en utilisant la méthode equalsIgnoreCase().
  • Ignorer la casse avec la méthode compareToIgnoreCase().

Ignorer la casse à l’aide de la méthode toUppercase() en Java

Nous convertissons d’abord les deux chaînes en majuscules dans cette approche, puis nous appelons la méthode equals(). La signature de cette méthode est :

public String toUpperCase()

Cette méthode convertit tous les caractères de la chaîne en majuscules en fonction des paramètres régionaux par défaut. Cela signifie que icecream sera converti en ICECREAM uniquement si la locale par défaut est Locale.ENGLISH ou Locale.US.

Nous pourrions obtenir des résultats imprévisibles si le paramètre local par défaut est défini sur un autre pays ou une autre langue qui ne reconnaît pas ces caractères. Nous pouvons passer les paramètres régionaux à l’appel de fonction pour éviter cela.

Comparons maintenant deux chaînes en utilisant les méthodes toUpperCase() et equals() en Java. Regardez le code ci-dessous :

import java.lang.Object;
import java.util.*;
public class SimpleTesting {
  public static void main(String args[]) {
    String desert1 = "icecream";
    String desert2 = "IceCream";

    // converting to both the strings to upper case
    String desert1_converted = desert1.toUpperCase();
    String desert2_converted = desert2.toUpperCase();

    // comparing both the desert
    boolean same_or_not1 = desert1_converted.equals(desert2_converted);
    boolean same_or_not2 = desert1.equals(desert2);

    System.out.println("Comparison with conversion: " + same_or_not1);
    System.out.println("Comparison without conversion: " + same_or_not2);
  }
}

Production :

Comparison with conversion: true
Comparison without conversion: false

Dans l’exemple ci-dessus, le toUpperCase() fonctionne correctement sans passer de paramètres régionaux car nos paramètres régionaux par défaut sont l’anglais.

Ignorer la casse à l’aide de la méthode toLowerCase() en Java

Cette méthode est identique à la précédente, sauf qu’elle convertit tous les caractères des deux chaînes en minuscules. La signature de la méthode est :

public String toLowerCase()

Selon les paramètres régionaux par défaut, cette procédure change tous les caractères de la chaîne en minuscules.

Cela signifie que si les paramètres régionaux par défaut sont Locale.ENGLISH ou Locale.US, alors ICECREAM sera converti en icecream. Nous pourrions obtenir des résultats imprévisibles si le paramètre local par défaut est défini sur un autre pays ou une autre langue qui ne reconnaît pas ces caractères.

Nous pouvons passer la locale comme argument à l’appel de fonction pour éviter cela. Examinons de plus près le fonctionnement de cette fonctionnalité.

Comparons maintenant deux chaînes en utilisant les méthodes toLowerCase() et equals() en Java. Regardez le code ci-dessous :

import java.lang.Object;
import java.util.*;
public class SimpleTesting {
  public static void main(String args[]) {
    String desert1 = "icecream";
    String desert2 = "IceCream";

    // converting to both the strings to lower case
    String desert1_converted = desert1.toLowerCase();
    String desert2_converted = desert2.toLowerCase();

    // comparing both the desert
    boolean same_or_not1 = desert1_converted.equals(desert2_converted);
    boolean same_or_not2 = desert1.equals(desert2);

    System.out.println("Comparison with conversion: " + same_or_not1);
    System.out.println("Comparison without conversion: " + same_or_not2);
  }
}

Production :

Comparison with conversion: true
Comparision without conversion: false

Ignorer la casse à l’aide de la méthode equalsIgnoreCase() en Java

Cette méthode est identique à la méthode equals(), sauf qu’elle ignore la casse des chaînes. Regardons d’abord la signature de la méthode.

public boolean equalsIgnoreCase(String anotherString)

Cette méthode renvoie true si deux chaînes sont égales après avoir ignoré leurs cas.

Si la longueur de deux chaînes est identique et que les caractères correspondants dans les deux chaînes sont identiques, ils sont considérés comme égaux, sans tenir compte de la casse. Selon cette méthode, ICECREAM et icecream sont identiques ; par conséquent, true sera renvoyé.

Regardez le code ci-dessous pour comprendre comment cela fonctionne.

import java.lang.Object;
import java.util.*;
public class SimpleTesting {
  public static void main(String args[]) {
    String desert1 = "icecream";
    String desert2 = "IceCream";

    // comparing both the deserts
    boolean same_or_not1 = desert1.equalsIgnoreCase(desert2);

    System.out.println("Comparison : " + same_or_not1);
  }
}

Production :

Comparison : true

Ignorer la casse à l’aide de la méthode compareToIgnoreCase() en Java

Cette approche compare lexicographiquement deux chaînes, sans tenir compte des différences de casse. Cette méthode renvoie un entier égal à la différence entre les deux premiers caractères non égaux.

Sa signature est :

public int compareToIgnoreCase(String str)

Si les deux chaînes sont équivalentes, 0 sera renvoyé. Regardez l’exemple de code ci-dessous :

import java.lang.Object;
import java.util.*;
public class SimpleTesting {
  public static void main(String args[]) {
    String desert1 = "icecream";
    String desert2 = "IceCream";

    // comparing both the deserts
    int same_or_not1 = desert1.compareToIgnoreCase(desert2);

    System.out.println("Comparision : " + same_or_not1);
  }
}

Production :

Comparision : 0

Article connexe - Java String