Java/Android: Comparaison de String s1==s2 ne fonctionne pas
Question de Invité | 16/04/2022 à 17:12
J'essaie de comparer deux chaînes (strings) les unes avec les autres à l'aide de l'opérateur "==" en Java pour Android. J'ai le code suivant:
String s1 = new String("abc"); String s2 = new String("abc"); if (s1 == s2) { // même?! } else { // inégal?! }
Je ne sais pas pourquoi, mais cette condition retourne toujours "false" indépendante de si s1 et s2 sont égaux ou non.
Quelle est mon erreur ici? Dans toutes les autres langages de programmation, je connais, cela fonctionne exactement comme ça.
Sujets Connexes
Java: Split au point str.split(".") ne fonctionne pas
Question | 1 Réponse
Java: Conserver les Champs vides dans Split-Array
Conseil | 0 Commentaires
JavaScript: window.location comme String
Info | 0 Commentaires
HTML: Label de Checkbox dans une autre Cellule d'un Tableau
Question | 1 Réponse
Java: IntToStr - Convertir un Nombre entier en String
Question | 1 Réponse
JavaScript dans Android WebView ne fonctionne pas
Question | 1 Réponse
Programmation Android: Fermer toute l'Application
Question | 1 Réponse
Avis Important
Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.
Participer
Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.
En Java/Android, une String est un objet. Lorsque vous utilisez l'opérateur "==", Java vérifie si les deux objets sont identiques et non si leur contenu est identique. Parce que dans votre exemple, les objets "s1" et "s2" ne sont pas identiques, de sorte que la condition IF retourne toujours "false".
Afin de comparer le contenu de deux chaînes, vous pouvez utiliser la méthode .equals(Object obj) pour votre comparaison:
De plus, dans cet exemple, j'ai déclaré la String s3 et la définir sur s1. Dans ce cas, en fait, les objets s1 et s3 sont identiques de manière à ce que la condition de "==" soit "true" ici.
16/04/2022 à 22:08