`
sbfivwsll
  • 浏览: 60217 次
  • 性别: Icon_minigender_1
  • 来自: 四川
社区版块
存档分类
最新评论

Java toLowerCase()/toUpperCase()方法的使用注意

 
阅读更多

说明:如果大家写的代码涉汲到国际化的话,就看下去。如果想了解也可以看下去。

大家看下如下代码,我们在运行时,会是一个什么样的结果:


 
肯定有人说,这个肯定是true…没错,一般人想到这个肯定是true,但是…我们看看toUpperCase()(或toLowerCase(),下文件只说其中一个方法了)方法的源代码:


 
注意,这里调用了一个带Locale的重载方法,于是我们再看以下代码:


 
这个时候,运行的结果相信大家都能看得出来,是一个false,tr是土耳其的语言代码(至少在没有土语的机器上会不一样,还有其它地区的语言在返回时不是直接转成大写的,还加了一些特殊的符号),如果不幸,你写的程序正在这些地区运行,那就会得到一个错误的结果,甚至于你连错误的地方都找不到,很容易忽略它。因此我们在使用toLowerCase()方法时,尽量使用toLowerCase(Locale.US)这个方法来代替(或使用equalsIgnoreCase()方法来比较),这样就不会因为在不同语言的机器上出现一些让人莫名其妙的问题了。

如果大家使用过findbugs的话,会发现凡是使用toLowerCase()的地方,findbugs都会有警告提示的,我开始在修改findbugs时(XX公司要求外包项目静态检查结果一定要清零),不明所以,直接就将toLowerCase(Locale.getDefault())搬出来了,今天看到这样的说明惊得一身冷汗,幸好….幸好….

说明:这篇文章在2010年11月份发表过,但是现在已经在csdn上找不到了,现在重新发表一次。。。

  • 大小: 35.2 KB
  • 大小: 61.6 KB
  • 大小: 51.5 KB
分享到:
评论

相关推荐

    Java Character 类.pdf

    一、什么是Java Character 类? Java中的Character类是一个包装类,用于封装一个基本数据类型char的值。...可以使用Character类的静态方法toUpperCase(char c)和toLowerCase(char c)例如: char ch = 'a'; char uppe

    浅谈toLowerCase和toLocaleLowerCase的区别

    其中,toLowerCase()和toUpperCase()是两个经典的方法,借鉴自java.lang.String中的同名方法。而toLocaleLowerCase()和toLocaleUpperCase()方法则是针对特定地区的实现。 对有些地区来说,针对地区的方法与其通用...

    java字符串操作大全

    JAVA字符串的方法 String a = "53c015"; //Integer.parseInt(s, radix) radix设置为10,表示10进制,16表示16进制啦 int i = Integer.parseInt(a, 16); 1、length() 字符串的长度  例:char chars[]={'a','b'.'...

    编写一个程序,实现字符串大小写的转换并倒序输出

    Java下使用for循环实现转从最后一个字符开始遍历,2) 遍历的当前字符如果是大写字母,就使用toLowerCase()方法将其转换为小写字母, 如果是小写字母则使用toUpperCase() 方法将其转换为大写字母

    2Java SE(上).doc

    1. 文档注释可以在:类,... String toLowerCase():将一个字符串中的英文部分转换为全大写或全小写(验证码使用) 8)valueOf():String 提供了一组静态方法 该方法有若干的重载,用来将其他类型数据转换为字符串。

    数据结构实验3 串操作.doc

    1. 在常量串MyString类中,增加以下方法,并求各算法的时间复杂度。 public MyString trim() //删除串中所有空格 public char[] toCharArray() //返回字符数组 public MyString toLowerCase() //返回将大写字母转换...

    string类的常用方法.pdf

    string类是Java中的一种数据类型,用于表示文本字符串。它是不可变的,也就是说一旦创建了一个字符串对象,它的值就不能被修改。字符串类提供了许多方法来操作字符串,包括拼接、比较、截取和搜索等。 可以使用字符...

    微软JavaScript手册

    学习JAVA的好帮手,希望有所帮助。欢迎使用 JScript 语言参考 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    StringAPI.java

    String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写 String toUpperCase():使用默认语言环境,将 String 中的所有字符转换为大写 String trim():返回字符串的副本,忽略前导空白和尾部...

    java--scjp考题复习

    toLowerCase() C. toUpperCase() D. equalsIgnoreCase() E. none of the above 正确答案: D 931. At the end of these two lines of code: String s="hypertext"; String t=s.substring(2,5); What does the ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    java-study:基本的Java理解

    JAVA学习 基本的JAVA理解学习笔记 细绳 String st = " " ; String st = new String ( " " ); # use ' new ' to make an object st1.equals(st2) :比较字符串st1,st2是否相同 st1.indexOf(st2) :提取特定部分的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    Java Fastest String Utility-开源

    最快的字符串实用程序是用于字符串操作的Java库(JAR)。 该库在字符串操作(例如split,toUpperCase,toLowerCase,替换,删除,正则表达式等)中非常易于使用,非常快速且非常有效。

    CT874_Assignment_7:该项目包含我的Java作业的编程解决方案7

    CT874_Assignment_7 该项目包含我的Java作业的编程解决方案7 编程I... 提示,您应该使用String类提供的toUpperCase和toLowerCase方法。 应用程序还应该标记该句子并显示每个单独的标记。 您的输出应类似于以下内容。

    javascript的indexOf忽略大小写的方法

    把他们全都换成大写或小写,再比较就可以了 indexOf对象内第一次出现子字符串的字符位置 用toLowerCase或toUpperCase  [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] [Ctrl+A 全选 注:如需引入外部Js需刷新...

    javascript实现英文首字母大写

    方法一: function replaceStr(str){ // 正则法 str = str.toLowerCase(); var reg = /\b(\w)|\s(\w)/g; // \b判断边界\s判断空格 return str.replace(reg,function(m){ return m.toUpperCase() }); } ...

    javascript宿主对象之window.navigator详解

    var ua = window.navigator.userAgent.toLowerCase(); var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; var m = ua.match(re); Sys.browser = m[1].replace(/version/, 'safari); Sys.ver = m[2];

Global site tag (gtag.js) - Google Analytics