Capitalizar la primera letra de la Cadena [duplicate]


Esta pregunta ya tiene una respuesta aquí:

Estoy teniendo problemas para convertir la primera letra a Mayúscula en una cadena:

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

Esto no parece funcionar..

Alguna sugerencia?

Author: Siim Veskilt, 2013-03-07

2 answers

Intenta hacer:

rackingSystem = rackingSystem.toLowerCase();

En lugar de:

rackingSystem.toLowerCase(); 

Las cadenas son inmutables, debe reasignar el resultado de toLowerCase().

Más fácil sin embargo, (siempre y cuando su cadena sea más grande que la longitud 2):

rackingSystem = rackingSystem.substring(0,1).toUpperCase() + rackingSystem.substring(1).toLowerCase();
 68
Author: A--C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-06 13:35:58
StringBuilder rackingSystemSb = new StringBuilder(rackingSystem.toLowerCase());
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0)));
rackingSystem = rackingSystemSb.toString();
 18
Author: ElefantPhace,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-01 05:01:03