Aquí hay dos maneras de hacerlo: sustitución de cadenasequivalente Java del formato de Python()
name = "Tshepang"
"my name is {}".format(name)
"my name is " + name
¿Cómo puedo hacer algo similar al primer método, utilizando Java?
Aquí hay dos maneras de hacerlo: sustitución de cadenasequivalente Java del formato de Python()
name = "Tshepang"
"my name is {}".format(name)
"my name is " + name
¿Cómo puedo hacer algo similar al primer método, utilizando Java?
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);
String s = String.format("something %s","name");
¿Hay alguna manera de evitar tener que especificar el tipo (por ejemplo, '% s'), como lo permite la función' format() 'de Python? – Tshepang
@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
@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
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
}
}
Bah, debería haber intentado esto ... ahora debería funcionar. –