Java: formato de cadenas con marcadores de posición

Soy nuevo en Java y soy de Python. En Python hacemos un formato de cadena como este:

>>> x = 4 >>> y = 5 >>> print("{0} + {1} = {2}".format(x, y, x + y)) 4 + 5 = 9 >>> print("{} {}".format(x,y)) 4 5 

¿Cómo puedo replicar lo mismo en Java?

Related of "Java: formato de cadenas con marcadores de posición"

La clase MessageFormat parece a lo que estás buscando.

 System.out.println(MessageFormat.format("{0} + {1} = {2}", x, y, x + y)); 

Java tiene un método String.format que funciona de manera similar a esto. Aquí hay un ejemplo de cómo usarlo. Esta es la referencia de documentación que explica qué pueden ser todas esas % opciones.

Y aquí hay un ejemplo en línea:

 package com.sandbox; public class Sandbox { public static void main(String[] args) { System.out.println(String.format("It is %d oclock", 5)); } } 

Esto imprime “Son las 5 en punto”.

Puedes hacer esto (usando String.format) :

 int x = 4; int y = 5; String res = String.format("%d + %d = %d", x, y, x+y); System.out.println(res); // prints "4 + 5 = 9" res = String.format("%d %d", x, y); System.out.println(res); // prints "4 5"