- 浏览: 64043 次
- 性别:
- 来自: 四川
最新评论
说明:如果大家写的代码涉汲到国际化的话,就看下去。如果想了解也可以看下去。
大家看下如下代码,我们在运行时,会是一个什么样的结果:
肯定有人说,这个肯定是true…没错,一般人想到这个肯定是true,但是…我们看看toUpperCase()(或toLowerCase(),下文件只说其中一个方法了)方法的源代码:
注意,这里调用了一个带Locale的重载方法,于是我们再看以下代码:
这个时候,运行的结果相信大家都能看得出来,是一个false,tr是土耳其的语言代码(至少在没有土语的机器上会不一样,还有其它地区的语言在返回时不是直接转成大写的,还加了一些特殊的符号),如果不幸,你写的程序正在这些地区运行,那就会得到一个错误的结果,甚至于你连错误的地方都找不到,很容易忽略它。因此我们在使用toLowerCase()方法时,尽量使用toLowerCase(Locale.US)这个方法来代替(或使用equalsIgnoreCase()方法来比较),这样就不会因为在不同语言的机器上出现一些让人莫名其妙的问题了。
如果大家使用过findbugs的话,会发现凡是使用toLowerCase()的地方,findbugs都会有警告提示的,我开始在修改findbugs时(XX公司要求外包项目静态检查结果一定要清零),不明所以,直接就将toLowerCase(Locale.getDefault())搬出来了,今天看到这样的说明惊得一身冷汗,幸好….幸好….
说明:这篇文章在2010年11月份发表过,但是现在已经在csdn上找不到了,现在重新发表一次。。。
发表评论
-
struts2 中获取 web资源的方式
2016-01-08 17:02 539在struts2中获取 web资源的方式大致可分为获取扩展 ... -
sql server、db2、oracle 存储过程动态sql语句示例
2015-01-31 19:00 1845Oracle CREATE OR REPLACE PRO ... -
ie9 中出现不明的异常(参数是必选项 (Argument not optional)、尚未实现)等
2015-01-27 23:57 1315<script type="text/jav ... -
SAXParseException: The content of element type "configuration" must match
2014-09-15 23:57 1975在mybatis的配置文件中新增加<databaseI ... -
java.lang.ClassNotFoundException: Cannot find class: DB_VENDOR
2014-09-15 23:45 2018在mybatis 中使用databaseIdProvide ... -
spring mvc3 + fastjson 转换 REST 参数以及输出
2014-03-27 00:16 4264spring 3可以支持Rest风格参数,其内置了jack ... -
eclipse中编辑log4j 的xml配置文件时,自动提示
2014-03-27 00:05 899方法1. 配置log4j.dtd文件: Windows - ... -
java json 转换之 Jackson 框架
2013-08-01 21:50 1178转自:http://www.cnblogs.com/hooj ... -
eclipse/myeclise 自定义注释中的变量名称
2013-07-01 23:18 981eclipse/myeclipse中自带了 ... -
Eclipse Class Decompiler——Java反编译插件
2012-11-08 22:41 1246Eclipse Class Decompiler,整 ... -
struts+spring+hibernate整合问题解决方法 陆续更新中....
2009-01-01 10:33 889在整合ssh过程中出现的问题和解决方法: 一、 严重: Ser ... -
DWR通过Annotation与spring整合
2009-01-21 22:05 672DWR 2.0 增加了一个很有趣的新特性,Annotat ... -
div嵌套页面 div加载页面 (其中获取目标页面的内容是用dwr框架连接java程序做的)
2009-03-15 16:58 664前段时间因为有需要,要在div中加载一个页面。但是以前没做过, ... -
tapestry autocomplete 更改样式及定位
2009-07-09 19:02 727版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文 ... -
Java中的main()方法详解
2009-07-12 16:23 657源文作者:leizhimin 源文链接:http:/ ... -
tapestry5 集成 spring 的事务管理
2009-07-22 15:43 604说明:使用的是tapestry5.1.0.5 和spring ... -
tapestry5 布局 参数的处理
2009-07-23 17:24 449<?xml version="1.0" ... -
tapestry不支持 等html特殊符号的解决方法
2009-07-23 17:34 563在使用tapestry时,偶然发现使用 &a ... -
WebService大讲堂之Axis2(1):用POJO实现0配置的WebService
2009-07-28 15:01 438转自:http://space.itpub.net ... -
WebService大讲堂之Axis2(2):复合类型数据的传递
2009-07-28 15:25 529转自:http://space.itpub.net/12921 ...
相关推荐
在日常开发中,我们经常会使用这些方法来完成字符串的处理和操作。下面我们将详细介绍Java String类中的常用方法。 charAt方法 charAt方法是String类中的一个基本方法,该方法返回指定位置的代码单元。这个方法的...
Java 的 `Character` 类提供了两个静态方法 `toLowerCase(char ch)` 和 `toUpperCase(char ch)`,用于单独转换一个字符的大小写: ```java char upperCaseChar = 'A'; char lowerCaseChar = Character....
`toUpperCase()`和`toLowerCase()`用于将字符串转换为全大写或全小写。 10. **分割字符串** `split(String regex)`根据正则表达式将字符串分割成数组。 11. **去除空白字符** `trim()`去除字符串两端的空白字符...
对于单个字符的大小写转换,可以使用`Character`类的`toLowerCase(char)`和`toUpperCase(char)`方法。例如: ```java char ch = 'A'; char lowerCh = Character.toLowerCase(ch); char upperCh = Character....
【JAVA内置对象大全,各类使用方法大全】 在Java编程语言中,内置对象是指由Java标准库提供的、无需程序员显式创建的对象。这些对象通常与语言的底层机制紧密关联,提供了许多核心功能。本文将主要讨论JavaScript中...
4. **Character类**:Character类处理字符,提供了检查字符类型的工具,如isDigit()、isLetter()等,以及转换方法,如`toUpperCase()`和`toLowerCase()`。 5. **String类**:String是不可变的字符序列,广泛用于...
对于大小写转换,我们可以使用`Character.toUpperCase()`和`Character.toLowerCase()`方法。这两个方法分别用于将字符转换为大写和小写。例如: ```java char lowerCaseChar = 'a'; char upperCaseChar = Character...
例如,在StringOperation.java中,我们可以使用for循环遍历字符串“HelloWorld”,并使用toLowerCase()或toUpperCase()方法将每个字符转换为小写或大写形式,然后使用StringBuffer对象将转换后的字符添加到一个字符...
1. **转换大小写(toLowerCase/toUpperCase)**:这两个方法分别用于将字符串转换为全部小写或大写形式。 ```java System.out.println("s1.toLowerCase() is " + s1.toLowerCase()); System.out.println("s1....
如果只想转换字符串的一部分,可以先使用`substring()`方法获取需要转换的子字符串,然后再调用`toUpperCase()`或`toLowerCase()`。例如,如果有一个字符串`str = "Hello World"`,我们只想转换"World"这部分为大写...
- `toUpperCase()` 和 `toLowerCase()`: 将字符串转换为大写或小写。 2. **数组操作方法** - `length`: 数组的长度属性,表示数组包含的元素个数。 - `clone()`: 创建数组的一个副本,避免直接修改原数组的影响...
### Java字符串的方法详解 在Java编程语言中,字符串(`String`)是一个极其重要的类,它代表了一系列的字符。在日常开发中,我们经常会遇到对字符串进行操作的需求,例如获取字符串长度、查找某个字符的位置等。...
- **`toUpperCase()`** 和 **`toLowerCase()`**:将字符串转换为全大写或全小写。 - **`trim()`**:移除字符串两端的空白字符。 - **`indexOf(String str)`** 和 **`lastIndexOf(String str)`**:分别返回指定子字符...
- `toLowerCase()` 和 `toUpperCase()`: 将字符串转换为小写或大写。 - `trim()`: 去掉字符串首尾的空白字符。 - `getBytes()`: 将字符串转换为字节数组,使用平台默认的字符集。 - `charAt(int index)` 和 `...
【Integer 类】 在Java中,Integer 是基本数据类型 int 的包装类,它提供了一些方便的方法来处理整数。Integer 类包含以下主要知识...这些类的使用方法在日常编程中非常常见,熟练掌握它们可以提升代码的效率和可读性。
其中,`toUpperCase()` 和 `toLowerCase()` 方法分别用于将字符串转换为大写和小写。这两个方法都返回一个新的字符串,原始字符串不会被改变,因为Java中的字符串是不可变的。 例如,假设我们有一个字符串变量 `str...
以上就是`String`类的一些常见方法,理解并熟练使用它们对于提升Java编程效率至关重要。在实际开发中,开发者通常会结合这些方法来处理字符串,实现各种文本操作。通过阅读和分析`TestString.java`文件,我们可以...
- **将字符串转换为大写**:使用`toUpperCase()`方法。 - **将字符串转换为小写**:使用`toLowerCase()`方法。 - **判断字符串是否为数字**:可以使用正则表达式来实现。 - **判断字符串是否包含子串**:使用`...
toLowerCase() 方法用于将字符串转换为小写,toUpperCase() 方法用于将字符串转换为大写。例如: String s="Hello World"; String lower=s.toLowerCase(); // "hello world" String upper=s.toUpperCase(); // ...