changer CharSequence première lettre en majuscule dans android
il peut sembler simple, mais il possède beaucoup de bugs
J'ai essayé de cette façon:
String s = gameList[0].toString();
s.replaceFirst(String.valueOf(s.charAt(0)),String.valueOf(Character.toUpperCase(s.charAt(0))) );
et il déclenche une exception
un autre essai, j'ai eu a été :
String s = gameList[0].toString();
char c = Character.toUpperCase(gameList[0].charAt(0));
gameList[0] = s.subSequence(1, s.length());
rhis aussi, on déclenche une Exception
L'Exception que vous obtenez pourrait aider les gens à répondre à cette
OriginalL'auteur yoav.str | 2010-06-23
Vous devez vous connecter pour publier un commentaire.
. . . ou faire tout cela dans un tableau. Voici quelque chose de similaire.
OriginalL'auteur MartynOfEngland
OriginalL'auteur Pentium10
Sur la Chaîne immuable
Concernant votre première tentative:
Java, les chaînes sont immuables. Vous ne pouvez pas appeler une méthode sur une instance de chaîne et attendre que la méthode pour modifier cette chaîne.
replaceFirst
au lieu de cela renvoie une nouveau chaîne. Cela signifie que ces types d'usage sont mauvais:Au lieu de cela, vous voulez faire quelque chose comme ceci:
Comme pour la modification de la première lettre d'un
CharSequence
majuscules, quelque chose comme cela fonctionne (comme on le voit sur ideone.com):Bien sûr, cela va jeter
NullPointerException
sis == null
. C'est souvent un comportement approprié.OriginalL'auteur polygenelubricants
J'aime utiliser cette solution, plus simple, pour les noms, d'où toUp est un tableau de noms divisé par (" "):
Et cette solution modifiée pourrait être utilisé pour mettre en majuscule la première lettre d'une Chaîne complète, de nouveau toUp est une liste de chaînes de caractères:
Espère que cette aide.
OriginalL'auteur Herrera