Istnieje wiele przykładów na to, dlaczego i kiedy java.lang.String.equalsIgnoreCase
zakończy się niepowodzeniem z powodu nieprawidłowego użycia ustawień narodowych.Jaka jest poprawna alternatywa dla Javy w równym stopniuIgnoreCase?
Ale nie znalazłem żadnych przykładów prawidłowego sposobu. W przeciwieństwie do java.lang.String.toUpperCase
nie ma wersji z parametrem lokalizacji. Konwersja obu łańcuchów na wielkie lub małe litery wydaje się być nieekonomiczna. Zwłaszcza, gdy pracujesz nad aplikacją wykonującą wiele porównań.
Jaki jest prawidłowy sposób porównywania ciągów znaków ignorowanych, biorąc pod uwagę zarówno ustawienia regionalne, jak i wydajność?
Może za pomocą ['Collator'] (http://docs.oracle.com/javase/8/docs/api/java/text/Collator.html)? – fge
Czy mógłbyś edytować swoje pytanie z przykładami na złe wyniki '.equalsIgnoreCase()'? Jestem bardzo ciekawy ... – fge
@fge Turecki «i» i niemiecki «ß» wydają się być najbardziej przytaczanymi niepowodzeniami. Ale masz rację, dodam kilka przykładów później. – Martin