Java和Js中首字母大写的方法

本文介绍了在Java和JavaScript中实现字符串首字母大写的两种高效方法。对于Java,一种方法是利用ASCII码转换;而对于JavaScript,则提供了包括直接使用lodash库在内的多种解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 Java中首字母大写的方法

     Java string,需要进行首字母大写改写,网上大家的思路基本一致,就是将首字母截取,转化成大写然后再串上后面的,类似如下代码

//首字母大写
public static String captureName(String name) {
        name = name.substring(0, 1).toUpperCase() + name.substring(1);
       return  name;
}

将字符串name 转化为首字母大写。但是这种效率并不高,我之前看过一个牛人的写的方法核心代码,是这样的

    //首字母大写
public static String captureName(String name) {
        char[] cs=name.toCharArray();
        cs[0]-=32;
        return String.valueOf(cs);
    }

       心里是由衷的佩服,即进行字母的ascii编码前移,下面是这段程序的验证代码:

public class Test01 {
    public static void main(String args[]) {
        System.out.println("打印");
        String UpFirstString = "abcdefghijklmn";
        System.out.println(captureNameFunction(UpFirstString));
        System.out.println(captureNameChar(UpFirstString));
    }
    public static String captureNameFunction(String name) {
        name = name.substring(0, 1).toUpperCase() + name.substring(1);
        return  name;
    }
    public static String captureNameChar(String name) {
        char[] cs=name.toCharArray();
        // 先将字符串转化为char类型的数组,然后通过字母的ascii码进行前移,即A + 32 = a.
        cs[0]-=32;
        return String.valueOf(cs);
    }
}

在运行过程中,也是有明显的区别,前者编译耗时大约2秒钟,后者大约1妙钟

 

二 JavaScript中首字母大写的方法

同样的,我们能够使用substring进行首字母的大写,代码如下面所示:

const UpFirstString = 'abcdefghijklmn';
captureNameFunction = (string) => {
  return string.substring(0,1).toUpperCase() + string.substring(1);
};
console.log(captureNameFunction(UpFirstString));

当然,我们还有用于直接使用的插件,如下面代码.

const _string = require('lodash/string');
const UpFirstString = 'abcdefghijklmn';
console.log(_string.upperFirst(UpFirstString));

显示结果如下面所示:

Abcdefghijklmn

在上面的方法中,使用了lodash插件,在lodash中有很多js中需要使用的方法,下面就是其官网说明:

lodash中upperFirst方法的说明

可能有些网友会说,那能不能使用字符进行转换呢??结果是肯定的,如下面代码:

const _lang = require('lodash/lang');// 获取lodash中的lang对象
const UpFirstString = 'abcdefghijklmn';
console.log(_lang.toArray(UpFirstString));// 将字符串转换为单个字符的数组并进行输出
/*
* fromCharCode:将ascii码转化为字符串
* charCodeAt: 将单个char转化为ascii码
* */
console.log(_lang.toArray(UpFirstString)[0].charCodeAt());
console.log(String.fromCharCode(_lang.toArray(UpFirstString)[0].charCodeAt() - 32));
console.log(String.fromCharCode(UpFirstString.charCodeAt() - 32));

但是,上面这种转换有点麻烦.....下面是显示结果:

[ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n' ]
97
A
A

 

----

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suwu150

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值