字符串整体大小写转换,首字母大小写
最近用到了首字母大写的功能,一般的思路是采用charAt(0)结合Character的toUpperCase方法转换,最后再拼成一个字符串的方式来实现
日前看到一个大神的代码,觉得效率比较高,有兴趣的朋友可以看一下
代码如下:
/** * 首字母大写转换 * @param str 源字符串,首字母不支持中文 * @return */ public static String firstCharUpper(String str){ if(str!=null&Character.isLowerCase(str.charAt(0))){ //根据需要判断是大写还是小写,下面可以做相应的修改 char[] charArray = str.toCharArray(); if(charArray!=null){ charArray[0]-=32; //此处是小写转大写,如果是大写转小写则是+=32,上面需要判断一下 return String.valueOf(charArray); } } return str; }
下面就是和上面类似的,整个字符串大小写转换
/** * 字符串大写化 * @param str * @return */ public static String strUpperCase(String str){ if(str!=null){ char[] charArray = str.toCharArray(); for(int i=0;i<str.length();i++){ if(Character.isLowerCase(str.charAt(i))) charArray[i]-=32; } return String.valueOf(charArray); } return str; } /** * 字符串小写化 * @param str * @return */ public static String strLowerCase(String str){ if(str!=null){ char[] charArray = str.toCharArray(); for(int i=0;i<str.length();i++){ if(Character.isUpperCase(str.charAt(i))) charArray[i]+=32; } return String.valueOf(charArray); } return str; }
以上,欢迎有更好的方法借鉴学习
@ink