字符串整体大小写转换,首字母大小写
最近用到了首字母大写的功能,一般的思路是采用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