2011-03-16 16 views

Respuesta

27
name = "Paŭlo"; 
MessageFormat f = new MessageFormat("my name is {0}"); 
f.format(new Object[]{name}); 

o más corto:

MessageFormat.format("my name is {0}", name); 
+0

Bah, debería haber intentado esto ... ahora debería funcionar. –

24
String s = String.format("something %s","name"); 
+2

¿Hay alguna manera de evitar tener que especificar el tipo (por ejemplo, '% s'), como lo permite la función' format() 'de Python? – Tshepang

+0

@Tshepang desafortunadamente no puedes usar esto con literales como en python. Por lo tanto, siempre tendrá que llamar a este método estático en la clase String. – Chris

+0

@Chris: No estoy seguro de que usted (o yo) lo haya entendido. Quiero decir que tendré algo similar a 'String.format (" mi nombre es {} ", nombre)'. – Tshepang

1

Underscore-java tiene un método estático format().

import com.github.underscore.$; 

public class Main { 
    public static void main(String[] args) { 
     String name = "Tshepang"; 
     String formatted = $.format("my name is {}", name); 
     // my name is Tshepang 
    } 
}