一尘不染

如何在Java中大写字符串的首字母?

java

我正在使用Java 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()


阅读 692

收藏
2020-03-18

共1个答案

一尘不染

使用Apache的公共库。从这些东西中解放出来,避免空指针和索引超出范围的异常
步骤1:

通过将apache的公共lang库放入build.gradle依赖项中

compile 'org.apache.commons:commons-lang3:3.6'

第2步:

如果你确定你的字符串全部为小写字母,或者只需要初始化第一个字母,则直接调用

StringUtils.capitalize(yourString);

如果要确保只有第一个字母大写,例如对an这样做enumtoLowerCase()请先调用并记住,NullPointerException如果输入字符串为null ,它将抛出。

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也包含在此库中,但已弃用。请不要使用它。

2020-03-18