ändert den ersten Buchstaben von CharSequence in Android in Großbuchstaben

7

Es mag einfach erscheinen, aber es hat viele Bugs Ich habe es so versucht:

%Vor%

und es löst eine Ausnahme aus

Ein anderer Versuch, den ich hatte, war:

%Vor%

rhis wirft auch eine Exception

    
yoav.str 23.06.2010, 09:46
quelle

4 Antworten

9

. . . oder mache alles in einem Array. Hier ist etwas ähnliches.

%Vor%     
MartynOfEngland 23.10.2012, 14:43
quelle
13
%Vor%     
Pentium10 23.06.2010 09:55
quelle
2

Ein String ist unveränderlich

In Bezug auf Ihren ersten Versuch:

%Vor%

Java-Strings sind unveränderlich. Sie können eine Methode für eine Zeichenfolgeninstanz nicht aufrufen und erwarten, dass die Methode diese Zeichenfolge ändert. replaceFirst gibt stattdessen eine neue Zeichenkette zurück. Dies bedeutet, dass diese Art der Verwendung falsch ist:

%Vor%

Stattdessen möchten Sie Folgendes tun:

%Vor%

Wenn Sie den ersten Buchstaben eines CharSequence in Großbuchstaben ändern, funktioniert so etwas ( wie auf ideone.com ) ):

%Vor%

Dies wird natürlich NullPointerException wenn s == null ausgeben. Dies ist oft ein angemessenes Verhalten.

    
polygenelubricants 23.06.2010 13:05
quelle
0

Ich möchte diese einfachere Lösung für Namen verwenden, wobei toUp ein Array voller Namen ist, die durch ("") geteilt werden:

%Vor%

Und diese modifizierte Lösung könnte verwendet werden, um nur den ersten Buchstaben eines vollen Strings in Großbuchstaben zu schreiben, wieder ist toUp eine Liste von Strings:

%Vor%

Hoffe, das hilft.

    
Herrera 31.05.2013 18:52
quelle

Tags und Links