使用Java来定义一个简单的工具类来实现字符串首字母大写,其他字母不变。代码如下:
class StringUtil { // 定义一个String工具类
/**
* 首字母大写处理,其他字母保持不变;
* @param str 要处理的字符串;
* @return 首字母大写处理后的结果;
*/
public static String initcap(String str) { // 定义一个处理字符串的方法
if(str == null || "".equals(str)) { // 如果传递进来的值为空,或者为空字符串
return str; // 传入的str是什么值,就是什么值;
}
if(str.length() == 1) { // 判断字符串长度;
return str.toUpperCase(); // 一个字母时直接转为大写;
}
// 截取首字母转为大写之后,再截取后续字母,最后连接为新字符串;
return str.substring(0,1).toUpperCase() + str.substring(1);
}
}
public class StringDemo {
public static void main(String args[]) {
System.out.println(StringUtil.initcap("yikezhan")); // 返回值:Yikezhan
System.out.println(StringUtil.initcap("y")); // 返回值:Y
}
}
在该工具中,我们有对传入的字符串进行了一定的判断,其中"" 与null 之间的关系是需要注意的。
""
是一个空字符串,是一个字符串对象,是有分配内存空间的,可以调用String类中的方法,来进行字符串的处理;null
则代表空值,它不是字符串对象,也没有分配内存空间,不能调用String类的方法,否则会报空指针异常错误NullPointerException
;