Прописная первая буква в строке [дубликат]


На этот вопрос уже есть ответ здесь:

У меня возникли проблемы с преобразованием первой буквы в заглавную в строке:

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

Это, кажется, не работает..

Есть предложения?

2 30

2 ответа:

Попробуйте сделать:

rackingSystem = rackingSystem.toLowerCase();

Вместо:

rackingSystem.toLowerCase(); 

Строки неизменяемы, вы должны переназначить результат toLowerCase().

Проще, хотя ,( пока ваша строка больше, чем длина 2):

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