la mia prima domanda qui :-)
Ho fatto del mio meglio leggere le regole e cercare se la domanda fosse già stata posta prima.Java equalsIgnoreCase fallisce con ß ("Sharp S" usato in alfabeto tedesco)
Il codice seguente
String[] strings = {"cAsE", "\u00df"};
for (String str : strings) {
System.out.println(str.equalsIgnoreCase(str.toLowerCase()));
System.out.println(str.equalsIgnoreCase(str.toUpperCase()));
}
uscite vere 3 volte (= cAsE casi, causa = CASE; ß = ß) ma anche 1 falso (ß = SS!). Provato usando toLowerCase (Locale) ma non è stato d'aiuto.
Si tratta di un problema noto?
Michael Kaplan ha scritto ampiamente sul carattere Sharp S tedesco. Le cose sono cambiate di recente e mi aspetto che le biblioteche stiano giocando un po 'di recupero. Un sacco di buone informazioni qui: http://blogs.msdn.com/michkap/archive/2008/05/15/8506679.aspx –