将字符串中的第一个字母大写

2022-09-01 11:16:59

我在将字符串中的第一个字母转换为大写字母时遇到问题:

rackingSystem.toLowerCase(); // has capitals in every word, so first convert all to lower case
StringBuilder rackingSystemSb = new StringBuilder();
rackingSystemSb.append(rackingSystem);
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0))); 
rackingSystem = rackingSystemSb.toString();

这似乎不起作用。

有什么建议吗?


答案 1

尝试做:

rackingSystem = rackingSystem.toLowerCase();

而不是:

rackingSystem.toLowerCase(); 

字符串是不可变的,必须重新分配 的结果。toLowerCase()

不过更容易,(只要你的字符串大于长度 2):

rackingSystem = rackingSystem.substring(0,1).toUpperCase() + rackingSystem.substring(1).toLowerCase();

答案 2
StringBuilder rackingSystemSb = new StringBuilder(rackingSystem.toLowerCase());
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0)));
rackingSystem = rackingSystemSb.toString();