我正在使用Java String从用户那里获取输入。我正在尝试将此输入的首字母大写。
String
我尝试了这个:
String name; BufferedReader br = new InputStreamReader(System.in); String s1 = name.charAt(0).toUppercase()); System.out.println(s1 + name.substring(1));
导致这些编译器错误:
类型不匹配:无法从InputStreamReader转换为BufferedReader
无法在基本类型char上调用toUppercase()
使用Apache的公共库。从这些东西中解放出来,避免空指针和索引超出范围的异常 步骤1:
通过将apache的公共lang库放入build.gradle依赖项中
build.gradle
compile 'org.apache.commons:commons-lang3:3.6'
第2步:
如果你确定你的字符串全部为小写字母,或者只需要初始化第一个字母,则直接调用
StringUtils.capitalize(yourString);
如果要确保只有第一个字母大写,例如对an这样做enum,toLowerCase()请先调用并记住,NullPointerException如果输入字符串为null ,它将抛出。
enum
toLowerCase()
NullPointerException
StringUtils.capitalize(YourEnum.STUFF.name().toLowerCase()); StringUtils.capitalize(yourString.toLowerCase());
这是apache提供的更多示例。没有例外
StringUtils.capitalize(null) = null StringUtils.capitalize("") = "" StringUtils.capitalize("cat") = "Cat" StringUtils.capitalize("cAt") = "CAt" StringUtils.capitalize("'cat'") = "'cat'"
注意:
WordUtils也包含在此库中,但已弃用。请不要使用它。
WordUtils