Java字符串首字母大写高效方法

我们日常编码过程中,通常会使用反射,通过对象获取其属性,并通过属性得到其getter、setter方法,而得到get、set方法时候需要属性首字母大写。字符串首字母大写,我们通常的做法是:传统方法为先截取手字母,再转换为大写,然后在拼接,一两个固然没事,但是上百个属性情况下对性能有一定影响。

最近学习到一种巧妙的方法就是通过字符的ASCII码值加减进行大小写转换

计算机中大小写字母,ASCII码对照表

ASCII码对照表中国可以看出,大写字母与小写字母的ASCII值相差是32,可以借助ASCII的加减来巧妙转换大小写

第一种方法:先将字符串转换为byte数组,然后byte数组首位强换为char字符,进行ASCII加减操作,最后byte数组转换为字符串

如属性itemName,首字母i的ASCII码值是105,减a,加上A,即105-97+65 = 73,刚好为大写的I

    private static String getMethodName(String fildeName) {
        byte[] items = fildeName.getBytes();
        items[0] = (byte) ((char) items[0] - 'a' + 'A');
        return new String(items);
    }

第二种方法 :先将字符串转换为char数组,然后一步到位,直接将数组首位字符ASCII码值减32,最后char数组转换为字符串

    private static String getMethodName(String str) {
        char[] cs=str.toCharArray();
        cs[0]-=32;
        return String.valueOf(cs);
    }

以上两种方法都是一个原理,只是写法不同而已

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值