Java 首字母转大写

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.题外话

  说到规范这个东西,就忍不住想吐槽:何为规范?规范、约束不是单方的,而是双方共同遵守的情况下才能称得上是规范,倘若一方遵守,另一方无视,那就规范就不复存在。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

 

posted @ 2020-11-18 10:15  Marydon  阅读(3026)  评论(0编辑  收藏  举报