2013-03-06 14 views
30

Ho problemi a convertire la prima lettera di capitale in una stringa:maiuscola in Stringa

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

Questo non sembra funzionare ..

Qualche suggerimento?

risposta

68

provare a fare:

rackingSystem = rackingSystem.toLowerCase(); 

Invece di:

rackingSystem.toLowerCase(); 

stringhe sono immutabili, è necessario riassegnare il risultato di toLowerCase().

Più facile, però, (a patto che lo String è più grande di lunghezza 2):

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

'String public static capitalizzare (String s) { \t \t se (null == s) di ritorno nullo; \t \t if (s.length() == 1) { \t \t \t return s.toUpperCase(); \t \t} \t \t se (s.length()> 1) { \t \t \t ritorno s.substring (0,1) .toUpperCase() + s.substring (1); \t \t} \t \t return ""; \t} ' – Roel

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