Java string,需要进行首字母大写改写,网上大家的思路基本一致,就是将首字母截取,转化成大写然后再串上后面的,类似如下代码
//首字母大写
public static String captureName(String value) {
value = value.substring(0, 1).toUpperCase() + value.substring(1);
return value;
}
将字符串name 转化为首字母大写。但是这种效率并不高,我之前看过一个牛人的写的方法核心代码,是这样的
public String captureName(String value)
{
char[] ch = value.toCharArray();
if (ch[0] >= 'a' && ch[0] <= 'z') {
ch[0] = (char) (ch[0] - 32);
}
return new String(ch);
}
这里先将字符串转为字符数组,然后将数组的第一个元素,即字符串首字母,进行ASCII 码前移,ASCII 中大写字母从65开始,小写字母从97开始,所以这里减去32。