2013-03-06 4 views
30

ich Probleme, mich in einem String den ersten Brief an Kapital Umwandlung:Großbuchstaben in String

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

Dies scheint nicht zu arbeiten ..

Irgendwelche Vorschläge?

Antwort

68

Versuchen Sie,:

rackingSystem = rackingSystem.toLowerCase(); 

Statt:

rackingSystem.toLowerCase(); 

Strings sind unveränderlich, müssen Sie das Ergebnis toLowerCase() neu zuweisen.

allerdings einfacher, (solange Ihr String ist größer als die Länge 2):

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

'public static String kapitalisieren (String s) { \t \t if (s == null) return Null; \t \t if (s.length() == 1) { \t \t \t return s.toUpperCase(); \t \t } \t \t if (s.length()> 1) { \t \t \t return s.substring (0,1) .toUpperCase() + s.substring (1); \t \t} \t \t zurück ""; \t} ' – Roel

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