Comparaison de String
soyen
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Quelque chose m'échappe et je demande vos avis et aide
lorsque je fais :
String toto = files[i].getName().trim();
String titi = rep.trim() + ".txt".trim();
int compare = toto.compareTo(titi);
System.out.println("Comparaison = " +compare); J'obtiens bien Comparaison = 0
mais maintenant lorsque je mets une condition
if (files[i].getName().trim().compareTo(rep.trim() + ".txt".trim()) ==0) LA CONDITION EST FAUSSE
même en faisant if (toto.compareTo(titi) == 0)
merci pour vos lumière...
Quelque chose m'échappe et je demande vos avis et aide
lorsque je fais :
String toto = files[i].getName().trim();
String titi = rep.trim() + ".txt".trim();
int compare = toto.compareTo(titi);
System.out.println("Comparaison = " +compare); J'obtiens bien Comparaison = 0
mais maintenant lorsque je mets une condition
if (files[i].getName().trim().compareTo(rep.trim() + ".txt".trim()) ==0) LA CONDITION EST FAUSSE
même en faisant if (toto.compareTo(titi) == 0)
merci pour vos lumière...
A voir également:
- Comparaison de String
- Comparaison million milliard - Accueil - Technologies
- Logiciel comparaison photo gratuit - Télécharger - Photo & Graphisme
- Comparaison samsung a15 et a16 - Accueil - Téléphones
- Comparaison prix amazon - Accueil - Commerce
- Prix Amazon : comment suivre les évolutions de tarifs - Guide
1 réponse
Bonjour,
Quelles valeurs as-tu pris ?
En testant ceci j'ai bien
Remarque : la méthode
Dans le même ordre idée,
Quelles valeurs as-tu pris ?
En testant ceci j'ai bien
0et
truecomme attendu :
public static void main(String[] args) {
File[] files = { new File(" C:\\azerty.txt ") };
int i = 0;
String rep = " azerty ";
String toto = files[i].getName().trim();
String titi = rep.trim() + ".txt".trim();
int compare = toto.compareTo(titi);
System.out.println("Comparaison = " + compare);
if (files[i].getName().trim().compareTo(rep.trim() + ".txt".trim()) == 0)
System.out.println(true);
else
System.out.println(false);
}
Remarque : la méthode
trim()enlève les espaces au début et à la fin d'un String, or
".txt"n'en contient pas, donc
".txt".trim()ne sert à rien, le résultat sera toujours
".txt"que tu devrais donc mettre directement.
Dans le même ordre idée,
files[i]est un
Filedonc
files[i].getName()est un nom bien formé, s'il contient des espaces au début ou à la fin (bien qu'interdit sur la plupart des OS) il faut les garder sinon tu ne pointeras pas vers le bon fichier :
"azerty.txt"est différent de
"azerty.txt "...