WordUtils.capitalize 的替代方案?[已关闭]

2022-09-02 23:49:35

我试图将字符串中的每个单词大写,因为它完全符合我想要的。但是,它现在已被弃用。WordUtils.capitalize(String)

我应该使用什么方法?还是我必须编写自己的方法?


答案 1

中的实现已弃用。但是,在 中实现了相同的方法。因此,您可能使用本质上相同的方法,但需要添加新的.jar文件并调整 import 语句。commons-lang3commons-text

来自 org.apache.commons.lang3.text.WordUtils 的 javadoc

从3.6开始,使用共享资源文本WordUtils代替

如果使用 Maven(或类似方法),请添加以下内容:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-text</artifactId>
  <version>1.1</version>
</dependency>

Commons Text的参考:Apache Commons Text是一个专注于处理字符串的算法的库。


答案 2

你可以使用apache.commonsStringUtils.capitalise()

公共静态字符串大写(字符串 str)

将字符串大写,根据 Character.toTitleCase(int) 将第一个字符更改为标题大小写。不会更改其他字符。

而不是从同一包中使用类,因此您不必通过添加额外的jar来更改项目配置。WordUtilsStringUtils

另类:

或者你可以自己实现它,你可以尝试这样的事情:

String str = "john";
String newStr = str.substring(0, 1).toUpperCase() + str.substring(1);

将打印 .John