web-dev-qa-db-ja.com

文字列の最初の文字を大文字にする

文字列の最初の文字を大文字に変換するのに問題があります:

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();

これはうまくいかないようです。

助言がありますか?

30
Scamparelli

やってみてください:

_rackingSystem = rackingSystem.toLowerCase();
_

の代わりに:

_rackingSystem.toLowerCase(); 
_

文字列は不変です。toLowerCase()の結果を再割り当てする必要があります。

ただし、より簡単です(ストリングが長さ2より大きい場合):

_rackingSystem = rackingSystem.substring(0,1).toUpperCase() + rackingSystem.substring(1).toLowerCase();
_
67
A--C
StringBuilder rackingSystemSb = new StringBuilder(rackingSystem.toLowerCase());
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0)));
rackingSystem = rackingSystemSb.toString();
18
ElefantPhace