tar*_*mon 15 java locale localization internationalization
我在这里的第一个问题:-)
我最好阅读规则并搜索之前是否已经提出问题.
以下代码
String[] strings = {"cAsE", "\u00df"};
for (String str : strings) {
System.out.println(str.equalsIgnoreCase(str.toLowerCase()));
System.out.println(str.equalsIgnoreCase(str.toUpperCase()));
}
Run Code Online (Sandbox Code Playgroud)
输出真3次(cAsE = case; cAsE = CASE;ß=ß)但也是1假(ß!= SS).尝试使用toLowerCase(Locale)但它没有帮助.
这是一个已知的问题?
Aar*_*lla 10
直到最近,Unicode还没有定义s-sharp的大写版本.我不确定最新的Java 7版本是否已经包含这个新角色以及它是否正确处理它.我建议试一试.
之所以str.toLowerCase()不返回相同的str.toUpperCase().toLowerCase()是,Java的替代ß用SS,但也没有办法回去了,所以SS变得ss和比较失败.
因此,如果您需要对案例进行调整,则必须使用str.toLowerCase().如果没有,那么只是在equalsIgnoreCase()没有任何上/下转换的情况下调用也应该有效.
| 归档时间: |
|
| 查看次数: |
4642 次 |
| 最近记录: |