[String] Comparaison de chaînes ?
Bon, suis pas débutant ^^
Je sais comment on compare une chaîne de caractères (ou tout du moins, les bases). Visiblement, j'ai du loupé quelques subtilités Java.
Soit le bout de code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11
| String packageName = getSyntaxPackageName();
URL url = Schema.class.getResource(
"/" + packageName.replace( '.', '/' ) );
if( url==null )
return null;
String protocole = url.getProtocol().trim().toLowerCase();
System.out.println( protocole );
if( protocole.equals( "jar" ) ) { ... } |
Quelqu'un pourrait-il m'expliquer pourquoi d'une machine à une autre, je ne rentre pas dans mon if ? J'ai fait tous les tests possibles que je connaisse, au boulot et sur mon fixe, JDK 1.5_06 ja comparaison est OK. Sur mon portable, JDK 1.5_03 et JDK1.5_07 la comparaison ne se fait pas, le equals retourne false. Pourtant, mes deux chaînes sont identiques !!!
Il y aurait-il une histoire d'encodage de caractères là-dessous ?