java中把一个字符串中大写字母转换为小写,小写字母转换为大写
2013-06-14 18:56
489 查看
java中把一个字符串中大写字母转换为小写,小写字母转换为大写
观看提示:
这里提供2中思维,但是第一种是正确的,第二种是错误的;第二种的思维可以了解了解,但是需要注意的是如果某个字符串定义为String类型,那么这个串就不能改变了;如果需要改变,那么应该使用StringBuffer,这个例子也能够很好的说明StringBuffer和String之间的区别!
下面的代码中exChange()能够得到正确的结论,exChange2()不能得到正确的结论,原因就是上面说的:如果某个字符串定义为String类型,那么这个串就不能改变了
【温馨提示】.
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这个方法
观看提示:
这里提供2中思维,但是第一种是正确的,第二种是错误的;第二种的思维可以了解了解,但是需要注意的是如果某个字符串定义为String类型,那么这个串就不能改变了;如果需要改变,那么应该使用StringBuffer,这个例子也能够很好的说明StringBuffer和String之间的区别!
下面的代码中exChange()能够得到正确的结论,exChange2()不能得到正确的结论,原因就是上面说的:如果某个字符串定义为String类型,那么这个串就不能改变了
//把一个字符串中的大写转为小写,小写转换为大写:思路1 public static String exChange(String str){ StringBuffer sb = new StringBuffer(); if(str!=null){ for(int i=0;i<str.length();i++){ char c = str.charAt(i); if(Character.isUpperCase(c)){ sb.append(Character.toLowerCase(c)); }else if(Character.isLowerCase(c)){ sb.append(Character.toUpperCase(c)); } } } return sb.toString(); } //把一个字符串中的大写转为小写,小写转换为大写:思路2 public static String exChange2(String str){ for(int i=0;i<str.length();i++){ //如果是小写 if(str.substring(i, i+1).equals(str.substring(i, i+1).toLowerCase())){ str.substring(i, i+1).toUpperCase(); }else{ str.substring(i, i+1).toLowerCase(); } } return str; }
【温馨提示】.
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这个方法
/** * <p>Swaps the case of a String changing upper and title case to * lower case, and lower case to upper case.</p> * * <ul> * <li>Upper case character converts to Lower case</li> * <li>Title case character converts to Lower case</li> * <li>Lower case character converts to Upper case</li> * </ul> * * <p>For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#swapCase(String)}. * A {@code null} input String returns {@code null}.</p> * * <pre> * StringUtils.swapCase(null) = null * StringUtils.swapCase("") = "" * StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone" * </pre> * * <p>NOTE: This method changed in Lang version 2.0. * It no longer performs a word based algorithm. * If you only use ASCII, you will notice no change. * That functionality is available in org.apache.commons.lang3.text.WordUtils.</p> * * @param str the String to swap case, may be null * @return the changed String, {@code null} if null String input */ public static String swapCase(String str) { if (StringUtils.isEmpty(str)) { return str; } char[] buffer = str.toCharArray(); for (int i = 0; i < buffer.length; i++) { char ch = buffer[i]; if (Character.isUpperCase(ch)) { buffer[i] = Character.toLowerCase(ch); } else if (Character.isTitleCase(ch)) { buffer[i] = Character.toLowerCase(ch); } else if (Character.isLowerCase(ch)) { buffer[i] = Character.toUpperCase(ch); } } return new String(buffer); }
相关文章推荐
- java中把一个字符串中大写字母转换为小写,小写字母转换为大写
- java中把一个字符串中大写字母转换为小写,小写字母转换为大写
- (方法)把一个字符串中的大写字母转换成小写,小写字母转换成大写2
- 编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
- JAVA 输入一个字符串,将大写字母改成小写,小写字母改成大写
- 7、编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
- 传入一个字符串,已知字符串只由字母组成,将其中的大写字母转换为小写,小写转换为大写,返回转换后的字符串
- c语言从键盘中输入一串字符串,将字符中的大写转化成小写字母,将小写字母转换成大写字母,以*号键结束
- Java 实训3-4 输入一个字符串 如果第一个字母为小写 则大写整个字符串否则提示出错
- 从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输入到一个磁盘文件“test”中保存。输入的字符串以”!”结束。
- java面试题,一个字符串中的大写变小写,小写变大写,数字不变,其他就变成*
- 【Java】编写一个程序,输出一个字符串中的大写英文字母数,小写英文字母数以及非英文字母数
- 字符串转换,将其中的大写字母变小写字母,小写字母变大写字母,并输出 。
- C语言:从键盘输入一个字符串,以感叹号!作为结束标志,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存。
- 用户任意输入一个字符串,把该字符串的大写字母变小写,小写变大写。
- 从键盘输入一个大写字母将其转换为小写字母,将转换后的小写字母及其十进制的ASCII码显示到屏幕上
- 从键盘输入一个字符串,将其中的大写字母变小写字母,小写字母变大写字母,并输出 。
- Java——求一个字符串中大写字母,小写字母,非字母的个数分别是多少
- 输出一个字符串的大写英文字母数,小写英文字母数即非英文字母数--java
- java程序,编写一个程序,输出一个字符串中的大写英文字母数,小写英文字母数及非英文字母数