java中把一个字符串中大写字母转换为小写,小写字母转换为大写

转自:http://blog.csdn.net/zhengqiqiqinqin/article/details/9097309

java中把一个字符串中大写字母转换为小写,小写字母转换为大写

观看提示:

这里提供2中思维,但是第一种是正确的,第二种是错误的;第二种的思维可以了解了解,但是需要注意的是如果某个字符串定义为String类型,那么这个串就不能改变了;如果需要改变,那么应该使用StringBuffer,这个例子也能够很好的说明StringBuffer和String之间的区别!

下面的代码中exChange()能够得到正确的结论,exChange2()不能得到正确的结论,原因就是上面说的:如果某个字符串定义为String类型,那么这个串就不能改变了

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1.   
[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //把一个字符串中的大写转为小写,小写转换为大写:思路1  
  2. public static String exChange(String str){  
  3.     StringBuffer sb = new StringBuffer();  
  4.     if(str!=null){  
  5.         for(int i=0;i<str.length();i++){  
  6.             char c = str.charAt(i);  
  7.             if(Character.isUpperCase(c)){  
  8.                 sb.append(Character.toLowerCase(c));  
  9.             }else if(Character.isLowerCase(c)){  
  10.                 sb.append(Character.toUpperCase(c));   
  11.             }  
  12.         }  
  13.     }  
  14.       
  15.     return sb.toString();  
  16. }  
  17.   
  18. //把一个字符串中的大写转为小写,小写转换为大写:思路2  
  19. public static String exChange2(String str){  
  20.     for(int i=0;i<str.length();i++){  
  21.         //如果是小写  
  22.         if(str.substring(i, i+1).equals(str.substring(i, i+1).toLowerCase())){  
  23.             str.substring(i, i+1).toUpperCase();  
  24.         }else{  
  25.             str.substring(i, i+1).toLowerCase();  
  26.         }  
  27.     }  
  28.     return str;  
  29. }  

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1.   

【温馨提示】.

Apache的commons-lang包中有很多我们常用的方法.比如IO操作的中的拷贝整个目录,判断一个字符是不是符合Email的格式,判断一个字符是不是数字型.....

所以千万别什么都自己写.尽量看看在其中是不是已经有现成的方法了.
比如上面这个问题,.就可以这么写【项目中需要有commons-lang这个包,可以去http://commons.apache.org/proper/commons-lang/download_lang.cgi下载】
String str = "aBcD";

System.out.println(StringUtils.swapCase(str));

我看了源码:StringUtils.swapCase(str)这个方法的实现其实跟第一种差不多!下面是apache官方的swapCase这个方法


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值