[creating an issue for Commit 1393c02]
This is an interesting point, and well taken that Locales can mess with String.toLowerCase(). As mentioned in the JavaDoc for String.toLowerCase(). It's not something I had thought about much. I'm sure I'm not alone. But, yes, this is an issue for the three Locale default languages tr (Turkish), az (Azerbaijani), and lt (Lithuanian).
It's probably a generally advisable recommendation for ALL Java programs to issue
Locale.setDefault(Locale.ROOT)
unless language-dependence is needed.
However, in this case it is unnecessary. We do not care what the lowerCase translates to, as we are just using the case to compare with a similarly lower-cased map key.
Or am I missing something here?
[creating an issue for Commit 1393c02]
This is an interesting point, and well taken that Locales can mess with String.toLowerCase(). As mentioned in the JavaDoc for String.toLowerCase(). It's not something I had thought about much. I'm sure I'm not alone. But, yes, this is an issue for the three Locale default languages tr (Turkish), az (Azerbaijani), and lt (Lithuanian).
It's probably a generally advisable recommendation for ALL Java programs to issue
Locale.setDefault(Locale.ROOT)
unless language-dependence is needed.
However, in this case it is unnecessary. We do not care what the lowerCase translates to, as we are just using the case to compare with a similarly lower-cased map key.
Or am I missing something here?