最近用到了首字母大寫的功能,一般的思路是采用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