Строки являются неизменяемыми в Java, после того как вы объявили rv как "" (= new String ()), оно не изменится, если вы не выделите для него новую строку.
Вы можете заменить строку concat на:
rv = rv.concat(firstLetter.toUpperCase() + restOfWord.toLowerCase());
Или лучше использовать StringBuilder вместо String (не тестировалось):
StringBuilder rv = new StringBuilder();
// [...]
rv.append(firstLetter.toUpperCase()).append(restOfWord.toLowerCase());
// [...]
return rv.toString();