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.題外話
說到規范這個東西,就忍不住想吐槽:何為規范?規范、約束不是單方的,而是雙方共同遵守的情況下才能稱得上是規范,倘若一方遵守,另一方無視,那就規范就不復存在。
寫在最后
哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!
相關推薦: