Java中String首字母大写方法

传统思路是:先将String 的首字母单独接取下来转成大写,然后再拼接上剩余字符串。

public String upperCase(String str) {
	return str.substring(0, 1).toUpperCase() + str.substring(1);
}

这里顺便提一下substring 的用法:

1、截取掉str 从首字母起长度为beginIndex 的字符串,将剩余字符串赋值给str。

      str.substring(int beginIndex);

2、截取str 中从beginIndex 开始至endIndex 结束时的字符串,并将其赋值给str。

      索引从0开始,返回的字符串包括beginIndex 处字符,但不包括endIndex 处的字符,endIndex 可以理解为长度。

      str.substring(int beginIndex, int endIndex);


接下来安利一种以前看到的效率更高的写法:

public String upperCase(String str) {
    char[] ch = str.toCharArray();
    if (ch[0] >= 'a' && ch[0] <= 'z') {
        ch[0] = (char) (ch[0] - 32);
    }
    return new String(ch);
}

这里先将字符串转为字符数组,然后将数组的第一个元素,即字符串首字母,进行ASCII 码前移,ASCII 中大写字母从65开始,小写字母从97开始,所以这里减去32。

你可能感兴趣的:(Java)