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...
1 réponse
-
Bonjour,
Quelles valeurs as-tu pris ?
En testant ceci j'ai bien0
ettrue
comme 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éthodetrim()
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 unFile
doncfiles[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 "
...