2013-03-21 7 views
6

Jeder mir bitte helfen. Ich weiß nicht, wie der String mit Format in android ähnlich anhänge dies:String append mit Format in Android

String key = ""; 
append("%d-%d-%d", 0, 1, 2)); 

Bitte geben Sie mir ein Beispiel. Vielen Dank im Voraus.

Antwort

11

Verwenden Sie StringBuilder oder StringBuffer, jedoch mit einer ausreichenden Anfangskapazität, um eine Neuzuweisung zu vermeiden. Die Standardkapazität ist 16, sobald Sie diese Zahl überschritten haben, müssen die Daten in einen neuen größeren Bereich kopiert werden. Verwenden Sie Append nicht +.

int integer = 5; 

StringBuilder s = new StringBuilder(100); 
s.append("something"); 
s.append(integer); 
s.append("more text"); 
+0

Danke, ihr alle habt recht und habt mir geholfen! :) – Fiemhong

7

können Sie verwenden entweder String oder String

public class Test { 

public static void main(String args[]) { 
    StringBuffer sb = new StringBuffer("Test"); 
    sb.append(" String Buffer"); 
    System.out.println(sb); 
} 
} 

Das folgende Ergebnis liefert:

Test String Buffer 

String:

StringBuilder strBuilder = new StringBuilder("foo"); 
strBuilder.append("bar"); 
strBuilder.append("baz"); 
String str = strBuilder.toString(); 

Für Format, versuchen

String.format("Hello %1$s, your name is %1$s and the time is %2$t", name, time) 
+0

Danke, Sie alle haben Recht und haben mir geholfen! :) – Fiemhong

3

können Sie die String.format Methode verwenden, das zu tun.

String test = "%d-%d-%d"; 
String.format(test, 0, 1, 2); 

Oder mit der Locale.

String.format(Locale.US, test, 0, 1, 2); 
+2

Ich habe eine Warnung erhalten: Implizite Verwendung des Standardgebietsschemas ist eine häufige Quelle von Fehlern: Verwenden Sie stattdessen String.format (Locale, ...) – Fiemhong