1.代碼實現
/*
* 首字母轉大寫
* @attention:
* @date: 2020年11月17日 0017 14:51
* @param: word 待轉換字符串
* @return: java.lang.String 首字母轉成了大寫
*/
public static String convertInitialUpper(String word) {
if (StringUtils.isEmpty(word)) return "";
// 方式一
// return word.substring(0,1).toUpperCase() + word.substring(1);
// 方式二:效率高
char[] chars = word.toCharArray();
// 首字母轉大寫(ASCII編碼前移)
chars[0] -= 32;
return new String(chars);
}
2.具體分析
如上圖所示,有兩種實現方式:
第一種是:字符串截取;
第二種是:ASCII前移,具體是什么意思?一起來看下

如上圖所示,小寫字母-32后,會變成大寫字母;
反之,大寫字母+32,會變成小寫,也是成立的。
據說,這種方式效率高,但我沒有測試,需要轉大寫的一般都是一兩個單詞,兩種實現方式速度幾乎是不會有差別的,就當是鞏固基礎知識啦。
3.使用場景
首字母轉大寫,何時能夠用得上?
我們知道,在Java規范中,類的成員變量名首字母不能大寫,必須是標准的駝峰命名法,但在實際開發過程中,往往會有首字母大寫的需求
如果使用阿里巴巴的fastjson,將其轉換成json對象,我們會發現首字母被強制轉換成了小寫,這是阿里搞得鬼,在這里,我們上面代碼就能用上啦。
使用場景2見文末推薦
4.題外話
說到規范這個東西,就忍不住想吐槽:何為規范?規范、約束不是單方的,而是雙方共同遵守的情況下才能稱得上是規范,倘若一方遵守,另一方無視,那就規范就不復存在。
寫在最后
哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!
相關推薦:
