Comparaison de chaînes
Fait partie de la section Fondamentaux du Journey Java de Coddy — leçon 21 sur 73.
En Java, comparer des chaînes de caractères est différent de comparer des nombres. Bien que vous puissiez utiliser <, >, ==, etc., pour les nombres, les chaînes de caractères nécessitent des méthodes différentes car elles sont des objets, pas des primitifs.
La manière la plus courante et correcte de vérifier si deux chaînes ont le même contenu est d'utiliser la méthode equals() :
String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";
boolean result1 = str1.equals(str2); // true
boolean result2 = str1.equals(str3); // false (case-sensitive)Utilisation de equalsIgnoreCase() Si vous voulez comparer des chaînes sans tenir compte de la casse :
String str1 = "Hello";
String str2 = "hello";
boolean result = str1.equalsIgnoreCase(str2); // trueDe nombreux débutants essaient d'utiliser == pour comparer des chaînes, mais cela est généralement faux :
String str1 = "hello"; String str2 = "hello"; boolean result = (str1 == str2);
Ne comparez pas les chaînes avec le signe
==!
Aide-mémoire
En Java, les chaînes de caractères sont des objets et nécessitent des méthodes spéciales pour la comparaison :
Utilisez equals() pour comparer le contenu des chaînes (sensible à la casse) :
String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";
boolean result1 = str1.equals(str2); // true
boolean result2 = str1.equals(str3); // falseUtilisez equalsIgnoreCase() pour comparer les chaînes en ignorant la casse :
String str1 = "Hello";
String str2 = "hello";
boolean result = str1.equalsIgnoreCase(str2); // trueImportant : N'utilisez pas == pour comparer les chaînes - cela compare les références d'objets, pas le contenu.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Méthodes System.outFormatage de la sortieClasse ScannerRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourSurcharge de méthodesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationMéthodes Void13Opérations sur les chaînes
Méthodes de chaînes, partie 1Méthodes de chaînes, partie 2Formatage de chaînesComparaison de chaînes5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 43Variables Partie 2
ConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting Partie 1Type Casting Partie 26Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle For - Partie 1Boucle WhileBoucle Do WhileBreakContinueBoucle For - Partie 2Boucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Parcourir les tableaux
Utilisation de la boucle forBoucle for amélioréeOpérations courantes sur les tableaux