參考鏈接: 使用ASCII值檢查Java中的字符串是否僅包含字母
將字符串name 轉化為首字母大寫。普遍的做法是用subString()取第一個字母轉成大寫再與之后的拼接:?
??
str = str.substring(0, 1).toUpperCase() + str.substring(1);?
?看到一種效率更高的做法:?
??
??
public static String firstAlphabetToUpper(String str) {
? ? char[] c = str.toCharArray();
? ? c[0]-=32;
? ? return String.valueOf(c);
}
?
使用ASCII碼偏移來轉。原作者不詳,感覺思路略NB,堪比2<<3。?
??
??
=================?
??
為了避免參數異常,返回奇怪的字符,可以稍作改進。?
??
public static String firstAlphabetToUpper(String str) {
? ? char[] c = str.toCharArray();
? ? if(c[0] < 97 || c[0] > 122){
? ? ? ? throw new IllegalArgumentException(str + ":首位不是小寫字母!");
? ? }
? ? c[0]-=32;
? ? return String.valueOf(c);? ? ? ??
}