Est-il un équivalent .NET String.Format
en Java?
Réponses
Trop de publicités?La 10 cent réponse à cette question est:
C#
String.Format("{0} -- {1} -- {2}", ob1, ob2, ob3)
est équivalent à Java
String.format("%1$s -- %2$s -- %3$s", ob1, ob2, ob3)
Note basée sur 1 index, et le "s" signifie de se convertir à l'aide de la chaîne .toString(). Il existe de nombreuses autres conversions disponibles et les options de formatage:
http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax
Jetez un oeil à la Chaîne.format et PrintStream.format méthodes.
Les deux sont basés sur le langage java.util.Classe de mise en forme.
Chaîne de caractères.exemple de format:
Calendar c = new GregorianCalendar(1995, MAY, 23);
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);
// -> s == "Duke's Birthday: May 23, 1995"
Système.out.exemple de format:
// Writes a formatted string to System.out.
System.out.format("Local time: %tT", Calendar.getInstance());
// -> "Local time: 13:34:18"
Vous pouvez aussi simplement utiliser des %s
pour la chaîne puisque l'indice est un argument optionnel.
String name = "Jon";
int age = 26;
String.format("%s is %s years old.", name, age);
C'est moins bruyant.
Remarque à propos de %s
à partir de la documentation de java:
Si l'argument arg est null, le résultat est "null". Si arg met en œuvre Formattable, alors arg.formatTo est invoquée. Sinon, l' résultat est obtenu par l'invocation d'arg.toString().
Il y a un String.format
en Java, mais la syntaxe est un peu différente de en .NET.