java首字符大小写特殊方法 发表于 2020-06-23 | 分类于 代码笔记 #前言 今天在学习大佬手写spring核心,有一个功能是首字母小写,是使用字母的ascii编码前移实现,记录一下 #代码展示 ##原版 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859public String lowerFirstCase(String str){ char[] chars = str.toCharArray(); //首字母小写方法,大写会变成小写,如果小写首字母会消失 //32为是char类型大小写的差数,-32是小写变大写,+32是大写变小写 chars[0] +=32; return String.valueOf(chars); } ##优化一下 上面代码本身就是大写字母,再加32不就有问题了,先做一个判断 public String lowerFirstCase(String str){ char[] chars = str.toCharArray(); if(chars[0] >= 97 && chars[0] <=122) chars[0]+=32; return String.valueOf(chars); } 后来发现用位运算符更牛逼 /** * 首字母大写 * * @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; } 坚持原创技术分享,您的支持将鼓励我继续创作! 赏 微信打赏 支付宝打赏