java string compareto method with programming examples
Dans ce didacticiel, nous allons en savoir plus sur la méthode Java String compareTo () et voir comment et quand utiliser compareTo en Java avec la syntaxe et des exemples:
Vous comprendrez comment manipuler Java String à l'aide de la méthode Java compareTo (). Les types de sortie que nous obtiendrons via la méthode Java compareTo () seront également traités dans ce tutoriel.
Après avoir lu ce didacticiel, vous serez certainement en mesure de comprendre et d'écrire les programmes Java String qui nécessitent la méthode .compareTo () pour la manipulation de String.
=> Consultez le guide de formation Perfect Java ici.
Ce que vous apprendrez:
Méthode Java String compareTo ()
La méthode Java String compareTo () est utilisée pour vérifier si deux chaînes sont identiques ou non. Comme son nom l'indique, il compare deux chaînes données et découvre si elles sont identiques ou laquelle est la plus grande.
Le type de retour de la méthode Java compareTo () est un entier et la syntaxe est donnée comme suit:
int compareTo(String str)
Dans la syntaxe ci-dessus, str est une variable String qui est comparée à la chaîne d'appel.
Par exemple: String1.compareTo (String2);
Une autre variante de Java compareTo () est
int compareTo(Object obj)
Dans la syntaxe ci-dessus, nous comparerons une chaîne avec un objet objet.
Par exemple ,String1.compareTo («Ceci est un objet chaîne»);
Ici, 'Ceci est un objet String' est un argument que nous transmettons à compareTo () et il compare cela avec String1.
Types de sortie de la méthode Java compareTo ()
La sortie a trois types basés sur la valeur de sortie.
Vous trouverez ci-dessous le tableau qui explique les trois types de valeurs de sortie.
compareTo () Valeur de sortie | Description |
---|---|
Zéro | Deux chaînes sont égales. |
Supérieur à zéro | La chaîne d'appel est supérieure à str. |
Moins que zéro | La chaîne d'appel est inférieure à str. |
Comprenons ces trois variantes en détail à l’aide d’un exemple.
Un exemple de programmation
Voici un exemple de méthode Java compareTo (). La comparaison est basée sur la différence de la valeur ASCII des caractères. En termes généraux, une chaîne est inférieure à l'autre si elle précède l'autre dans le dictionnaire.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Grand Theft Auto'; String str2 = 'Assassin Creed'; String str3 = 'Call of Duty'; String str4 = 'Need for Speed'; String str5 = 'Grand Theft Auto'; System.out.println(str1.compareTo(str2)); // Since 'A' is greater than 'G' by 6 characters, so it will return 6 System.out.println(str2.compareTo(str3)); // Since 'C' is smaller than 'A' by 2 characters, so it will return -2 System.out.println(str3.compareTo(str4)); //Since 'N' is smaller than 'C' by 11 characters, so it will return -11 System.out.println(str4.compareTo(str1)); //Since 'G' is Greater than 'N' by 7 characters, so it will return 7 System.out.println(str1.compareTo(str5)); //Strings are equal } }
Production:
Explication de l'exemple
Dans l'exemple ci-dessus, nous avons pris cinq chaînes d'entrée et effectué une comparaison de base entre elles à l'aide de la méthode Java .compareTo (). Dans la première comparaison, nous avons «A» supérieur à «G» de 6 caractères dans la série alphabétique, donc il renvoie +6. Dans la deuxième comparaison, nous avons «C» plus petit que «A» de 2 caractères, donc il renvoie -2.
Dans la dernière comparaison (entre str1 et str5), comme les deux chaînes sont égales, elle renvoie 0.
Divers scénarios
Comprenons la méthode .compareTo () en détail. Ici, nous allons essayer d'analyser différents scénarios et la sortie de chaque cas.
Scénario 1: Considérez les deux chaînes suivantes. Nous allons les comparer et voir la sortie.
String str1 = «Test de logiciel»;
String str2 = «Aide sur les tests de logiciels»;
Quelle sera la sortie de str1.compareTo (str2)?
Répondre: Comme str2 contient 5 caractères (un espace + quatre caractères) de plus que la première chaîne. La sortie doit être -5. De même, lorsque nous comparons str2 avec str1, la sortie doit être +5.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Software Testing'; String str2 = 'Software Testing Help'; System.out.println(str1.compareTo(str2)); // Since str2 contains 5 characters more than the str1, output should be -5 System.out.println(str2.compareTo(str1)); // Since str2 contains 5 characters less than the str1, output should be +5 } }
Production:
Scénario2: Considérez les deux chaînes suivantes. Nous allons les comparer et voir la sortie.
Chaîne str1 = '';
Chaîne str2 = '';
comment trouver xpath dans ie
Quelle sera la sortie de str1.compareTo (str2)?
Répondre: Comme str2 contient un caractère (espace) de plus que str1, il doit donner la sortie comme -1.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = ''; String str2 = ' '; System.out.println(str1.compareTo(str2)); //Since str2 contains one character more than str1, it will give -1 System.out.println(str2.compareTo(str1)); //Since str1 contains one character less than str1, it will give 1 } }
Production:
Scénario 3: Considérez les deux chaînes suivantes. Nous allons les comparer et voir la sortie.
Chaîne str1 = 'SAKET';
String str2 = 'saket';
Quelle sera la sortie de str1.compareTo (str2)?
Répondre: Ici, les chaînes sont égales mais str1 est en majuscule alors que str2 est en minuscule. C'était la limitation de la méthode Java compareTo (). La sortie que nous obtiendrons sera non nulle. Pour surmonter ce problème, Java a introduit une autre variante de la méthode .compareTo () qui est
.compareToIgnoreCase ()
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); //The ASCII representation of the lowercase and uppercase has a difference of 32 } }
Production:
Chaîne Java, méthode compareToIgnoreCase ()
Comme nous avons discuté du problème de l'incompatibilité de cas (Scenario3), nous avons déjà une autre variante de la méthode .compareTo () qui ignorera l'inadéquation de cas des chaînes.
La syntaxe de cette méthode est donnée comme
int compareToIgnoreCase(String str)
Tout le reste reste le même, sauf le fait que .compareToIgnoreCase () ne prend pas en compte l'incompatibilité des cas.
Un exemple de programmation
Voici un exemple de méthode Java compareTo (). Dans cet exemple, nous avons illustré la différence entre les sorties de Java compareTo () et compareToIgnoreCase (). Java compareTo () donnera une différence de -32 alors que compareToIgnoreCase () donnera une différence de 0.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); System.out.println(str1.compareToIgnoreCase(str2)); } }
Production:
Explication de l'exemple:
Dans l'exemple ci-dessus, nous avons pris deux chaînes qui ont la même valeur en conservant une chaîne en majuscules et une autre en minuscules. Désormais, une méthode Java .compareTo () fournira des résultats basés sur la différence ASCII dans la valeur des minuscules et des majuscules, car elle prendra en compte la casse des caractères.
Mais Java .compareToIgnoreCase () ne prendra pas la casse des caractères en considération et donnera un résultat égal à 0, ce qui signifie que les deux chaînes sont égales.
Questions fréquemment posées
Q # 1) Quelle est la différence entre ==, equals et .compareTo ()?
Réponse: Vous trouverez ci-dessous les principales différences entre ==, equals () et compareTo ().
!ERREUR! opérateur inattendu '=' | équivaut à() | comparer aux() |
---|---|---|
!ERREUR! opérateur inattendu '=' | equals () est une méthode. | compareTo () est une méthode. |
!ERREUR! opérateur inattendu '=' | La méthode equals () effectue la comparaison de contenu. | compareTo () effectue la comparaison basée sur la valeur ASCII. |
Le type de retour est booléen. | Le type de retour est booléen. | Le type de retour est Integer. |
Il utilise la référence de la variable String, les adresses mémoire doivent donc être les mêmes lors de la comparaison. | Il ne nécessite pas que les objets soient ordonnés logiquement. | Cela nécessite que les objets soient ordonnés logiquement. |
Voici un exemple de programmation illustrant la différence.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = new String('Testing'); String str2 = 'Testing'; System.out.println(str1.compareTo(str2)); System.out.println(str1 ==str2); System.out.println(str1.equals(str2)); } }
Production:
Q # 2) La méthode Java compareTo () est-elle sensible à la casse?
Répondre: Oui. La méthode Java .compareTo () considère la casse des caractères et est sensible à la casse.
Ci-dessous l'illustration.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
Production:
quels sont quelques bons sites d'anime
Q # 3) Comment compareTo () fonctionne-t-il en Java?
Répondre: La méthode Java compareTo () compare en fait les valeurs ASCII des caractères d'une chaîne.
Disons que nous allons comparer une virgule et un espace en utilisant la méthode .compareTo (). Comme nous le savons, un caractère d'espace a une valeur ASCII 32 tandis qu'une virgule a une valeur ASCII 44. La différence entre la valeur ASCII de l'espace et de la virgule est 12.
Voici l'exemple de programmation.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
Production:
Q # 4) Comment trouver la longueur d'une chaîne en utilisant la méthode Java .compareTo ()?
Répondre: Ci-dessous est le programme pour trouver la longueur d'une chaîne en utilisant la méthode Java .compareTo ().
Dans cet exemple, nous avons pris une chaîne dont nous devons trouver la longueur et une chaîne vide. Ensuite, nous avons comparé la chaîne avec la chaîne vide. La différence entre eux sera la longueur de la chaîne.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Production:
Q # 5) Que renvoie la méthode compareTo?
Répondre: Le type de retour de la méthode Java compareTo () est un entier. La valeur entière peut être zéro, un entier positif ou un entier négatif.
Conclusion
Dans ce tutoriel, nous avons compris la méthode Java String compareTo () en détail. Les fonctionnalités de base, les détails sur l'implémentation et l'utilisation en particulier les exemples de programmation ont été fournis pour une meilleure compréhension du concept lié à la méthode String compareTo ().
Lire aussi = >> Interfaces de comparaison et de comparaison Java
En utilisant cette méthode, vous pouvez comparer deux chaînes et de nombreuses autres utilisations ou domaines d'application, comme la recherche de la longueur de la chaîne, est également possible à l'aide de la méthode compareTo () qui a été traitée dans les questions fréquemment posées.
=> Visitez ici pour la série exclusive de didacticiels de formation Java.
lecture recommandée
- Tutoriel Java String | Méthodes de chaîne Java avec exemples
- Méthode Java String Split () - Comment diviser une chaîne en Java
- Tutoriel Java String avec String Buffer et String Builder
- Fonctions de chaîne Python
- Tableau de chaînes Java - Tutoriel avec des exemples de code
- Interface ListIterator en Java avec des exemples
- Tutoriel sur l'interface Java et les classes abstraites avec des exemples
- OOP Java: Introduction à la programmation orientée objet en Java