web-dev-qa-db-fra.com

Mettre en majuscule la première lettre de la chaîne

J'ai du mal à convertir la première lettre en majuscule dans une chaîne:

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

Cela ne semble pas fonctionner ..

Aucune suggestion?

30
Scamparelli

Essayez de faire:

rackingSystem = rackingSystem.toLowerCase();

Au lieu de:

rackingSystem.toLowerCase(); 

Les chaînes sont immuables, vous devez réaffecter le résultat de toLowerCase().

Plus simple cependant (tant que votre chaîne est plus longue que la longueur 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