java.util.Locale
的 String
对象的 toUpperCase()
或 toLowerCase()
调用。 这些情况下使用默认的系统区域设置,可能会在国际化环境中导致问题。
例如,代码 "i".toUpperCase().equals("I")
在土耳其语和阿塞拜疆语区域设置中返回 false
,其中带点和无点的 'i' 是单独的字母。 在土耳其语区域设置中运行时,对包含 'i' 的英文字符串调用 toUpperCase()
将返回不正确的结果。 或者,在处理应被视为与区域设置无关的字符串 (如 HTML 标记) 时,可能会导致错误。