Java软件低级错误(十 五):大小写转换的正确处理
来源:互联网 发布:网络直播的研究意义 编辑:程序博客网 时间:2024/06/10 23:27
解读:
String提供有大小写转换方法:String.toUpperCase()和String.toLowerCase(),另外还有带Locale参数的大小写转换方法:String.toUpperCase(Locale locale)和String.toLowerCase(Locale locale)。 String.toUpperCase(Locale locale)和String.toLowerCase(Locale locale)之所以要带Locale参数,就是希望你指定使用的是哪种语言,不带参数的String.toUpperCase()和String.toLowerCase()使用的是系统缺省的语言,例如操作系统的当前语言。有些语言的大小写转换使用了较特殊的规则,甚至不是1:1的字符对应关系,也就是说转换前和转换后的字符串长度不一定相等。
¨案例:
public class MyTest
{
public static void main(String[] args)
{
String name = "i";
System.out.println("转换前:"+name);
System.out.println("转换后:"+name.toUpperCase);
}
}
如果在Eclipse的run对话框中显示告诉VM我用的是Turkish,那最后输出的结果已经不是我预期的大写的I了,而是另外一个字符(İ)。
这个例子充分说明,大小写转换因语言环境的不同,转换结果可能并非如你所预期的。
如果大小写转换之后你是要用于字符串比较(这样的转换纯粹是为了比较的方便),也就是在我们的26个字母通常大小写转换预期内,则强烈建议你显示指定“英文”的Locale(Local.US)。
如果你的大小写转换就是希望遵循当前使用软件的国家语言大小写转换习惯,则使用不带参数的String.toUpperCase()和String.toLowerCase()更好一些,这样的代码反而能够适应不同的语言环境。
- Java软件低级错误(十 五):大小写转换的正确处理
- Java软件低级错误(十 五):大小写转换的正确处理
- Java软件低级错误(十 ):正确定义hashcode
- Java软件低级错误(十 一):正确理解Java的浅clone和深clone
- Java软件低级错误(五):魔鬼数字
- Java软件低级错误(十 三):短路运算和非短路运算的区别
- Java软件低级错误(十 八):忽略InputStream.skip()返回值的处理
- Java软件低级错误(十 七):对于Map元素的遍历使用entrySet还是KeySet?
- Java软件低级错误(十 六):使用包装器对象带来的低效问题
- Java软件低级错误(十 九):静态变量的初始化问题
- Java软件低级错误(二十 ):正确理解String/StringBuffer/StringBuilder的性能区别
- Java软件低级错误(七):Calendar的错误使用
- Java软件低级错误(十 四):定义equals方法的同时也要定义hashCode方法
- Java十大低级错误
- Java十大低级错误
- Java十大低级错误
- java十大低级错误
- Java十大低级错误
- java中实践格式化
- C和C++混合编程(__cplusplus 与 external "c" 的使用)
- head first 装饰者模式 -- 借助继承
- 使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理
- 诺基亚技术支持提供的 qml json 交互
- Java软件低级错误(十 五):大小写转换的正确处理
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- Java软件低级错误(十 四):定义equals方法的同时也要定义hashCode方法
- 晒晒我的编辑器
- C类地址子网、主机、广播地址等子网掩码的相关的计算
- 如何当好IT讲师
- 我的Eclipse开发的格式化配置[gaogao自用]
- 我的第一个Spring程序
- MyEclipse 8.5下载地址及对应的eclipse版本