Ho un problema nel confrontare strings.I vuole confrontare due "Ed" e "EF" testi in lingua francese come questojava CollationKey ordinamento sbagliato
Collator localeSpecificCollator = Collator.getInstance(Locale.FRANCE);
CollationKey a = localeSpecificCollator.getCollationKey("éd");
CollationKey b = localeSpecificCollator.getCollationKey("ef");
System.out.println(a.compareTo(b));
Questo stamperà -1
, ma in alfabeto francese e
vengo prima é
. Ma quando mettiamo a confronto solo e
e é
come questo
Collator localeSpecificCollator = Collator.getInstance(Locale.FRANCE);
CollationKey a = localeSpecificCollator.getCollationKey("é");
CollationKey b = localeSpecificCollator.getCollationKey("e");
System.out.println(a.compareTo(b));
risultato è 1
. Puoi dirci cosa c'è che non va nella prima parte del codice?
Ho la "stesso problema" (credo abbastanza accettabile) con '' Swing' Comparator' e le sue implementazioni per RowSorter' 'e' RowFilter' in' 'JTable' per Win1250-2' eq. 'ISO 8859-1/2', per tutti i non-ASCII Laddove le casse sono ordinate alla fine, ad esempio e -> e EI, mi dispiace mai avuto bisogno di risolto, perché è abbastanza accettabile e ordinamento logico con – mKorbel