前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java首字符大小写特殊方法

java首字符大小写特殊方法

作者头像
Erwin
发布2020-06-28 00:33:20
1.8K0
发布2020-06-28 00:33:20
举报
文章被收录于专栏:啸天"s blog

前言

今天在学习大佬手写spring核心,有一个功能是首字母小写,是使用字母的ascii编码前移实现,记录一下

代码展示

原版

代码语言:javascript
复制
public String lowerFirstCase(String str){
        char[] chars = str.toCharArray();
        //首字母小写方法,大写会变成小写,如果小写首字母会消失
        //32为是char类型大小写的差数,-32是小写变大写,+32是大写变小写
        chars[0] +=32;
        return String.valueOf(chars);
}

优化一下

上面代码本身就是大写字母,再加32不就有问题了,先做一个判断

代码语言:javascript
复制
public String lowerFirstCase(String str){
    char[] chars = str.toCharArray();
    if(chars[0] >= 97 && chars[0] <=122)
        chars[0]+=32;
    return String.valueOf(chars);
}

后来发现用位运算符更牛逼

代码语言:javascript
复制
/**

* 首字母大写

* 

* @param string

* @return

*/

public static String toUpperCase4Index(String string) {

char[] methodName = string.toCharArray();

methodName[0] = toUpperCase(methodName[0]);

return String.valueOf(methodName);

}

/**

* 字符转成大写

* 

* @param chars

* @return

*/

public static char toUpperCase(char chars) {

if (97 <= chars && chars <= 122) {

chars ^= 32;

}

return chars;

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 代码展示
    • 原版
      • 优化一下
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档