String.equals(String) ne fonctionne pas...
Résolu
moi411
Messages postés
179
Date d'inscription
Statut
Membre
Dernière intervention
-
moi411 Messages postés 179 Date d'inscription Statut Membre Dernière intervention -
moi411 Messages postés 179 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Comme dit dans le titre, j'ai 2 chaines de caractères que je dois comparer.
J'utilise:
if(a.equals(b)){ ... }
Pour le test, a est identaique à b mais je ne rentre quand-même pas dans le "if"!
Merci d'avance et bonne soirée!
--
Comme dit dans le titre, j'ai 2 chaines de caractères que je dois comparer.
J'utilise:
if(a.equals(b)){ ... }
Pour le test, a est identaique à b mais je ne rentre quand-même pas dans le "if"!
Merci d'avance et bonne soirée!
--
A voir également:
- Object of class doctrine\orm\persistentcollection could not be converted to string
- Qwerty to azerty - Guide
- Nvcontainer windows class - Forum Carte graphique
- Sorry this video can not be played. please try again or pick another video iptv traduction - Forum Téléviseurs
- Your browser sent a request that this server could not understand. size of a request header field exceeds server limit. ✓ - Forum Réseaux sociaux
- Wfp to mp4 - Forum Accessoires & objets connectés
3 réponses
Bonjour,
L'erreur est forcément ailleurs, il faudrait voir le code complet.
Tu devrais aussi afficher
L'erreur est forcément ailleurs, il faudrait voir le code complet.
Tu devrais aussi afficher
aet
bpour voir quelles sont les différences :
System.out.println(java.util.Arrays.toString(a.getBytes())); System.out.println(java.util.Arrays.toString(b.getBytes()));La confiance n'exclut pas le contrôle
Ré,
En fait j'ai un fichier avec des dates et des tarifs.
Je compare les dates et les tarifs après lecture du fichier (tout ça au format String).
Pour les dates, aucun problème mais pour les tarifs, ça déconne!
J'ai bien les mêmes chaînes (les affichages sont identiques et de même taille) et tout est bien dans un format String ; Je fais les éventuelles conversions par après !
La condition: if(a.equals(b) && c.equals(d))
Et merci de ta réponse!--
En fait j'ai un fichier avec des dates et des tarifs.
Je compare les dates et les tarifs après lecture du fichier (tout ça au format String).
Pour les dates, aucun problème mais pour les tarifs, ça déconne!
J'ai bien les mêmes chaînes (les affichages sont identiques et de même taille) et tout est bien dans un format String ; Je fais les éventuelles conversions par après !
La condition: if(a.equals(b) && c.equals(d))
Et merci de ta réponse!--
"les affichages sont identiques et de même taille"
L'affichage ne compte pas seul l'encodage compte, d'où l'intérêt de l'affichage de getBytes(), tu peux par exemple avoir des espaces différents (space et nbsp) indifférentiables "à la vue".
Alors affiches le tableau d'octets avec le code que j'ai fourni ci-dessus pour chaque couple de String que tu compares. Mais en aucun cas ce n'est la méthode equals qui est fausse...
L'affichage ne compte pas seul l'encodage compte, d'où l'intérêt de l'affichage de getBytes(), tu peux par exemple avoir des espaces différents (space et nbsp) indifférentiables "à la vue".
Alors affiches le tableau d'octets avec le code que j'ai fourni ci-dessus pour chaque couple de String que tu compares. Mais en aucun cas ce n'est la méthode equals qui est fausse...