Je suis nouveau sur Java et je suis de Python. Dans Python nous faisons le formatage de chaînes comme ceci:
>>> x = 4
>>> y = 5
>>> print("{0} + {1} = {2}".format(x, y, x + y))
4 + 5 = 9
>>> print("{} {}".format(x,y))
4 5
Comment répliquer la même chose en Java?
La classe MessageFormat
ressemble à ce que vous recherchez.
System.out.println(MessageFormat.format("{0} + {1} = {2}", x, y, x + y));
Java a une méthode String.format qui fonctionne de la même manière. Voici un exemple de la façon de l'utiliser. Ceci est le référence de la documentation qui explique ce que tous ces %
les options peuvent être.
Et voici un exemple en ligne:
package com.sandbox;
public class Sandbox {
public static void main(String[] args) {
System.out.println(String.format("It is %d oclock", 5));
}
}
Cela imprime "C'est 5 heures".
Vous pouvez le faire (en utilisant 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"
Slf4j a MessageFormatter.format () qui accepte {}
sans le numéro d'argument, tout comme Python. Slf4j est un framework de journalisation populaire, mais vous n'avez pas besoin de l'utiliser pour vous connecter pour utiliser MessageFormatter.