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 :
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 !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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" ) ) { ... }
Il y aurait-il une histoire d'encodage de caractères là-dessous ?
Partager