62 votes

Java Équivalent .NET de la Chaîne.Format

Est-il un équivalent .NET String.Format en Java?

125voto

Oscar Boykin Points 900

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

31voto

dtb Points 104373

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"

31voto

MrSnowflake Points 2599

Il est MessageFormat.format() qui utilise le .net notation.

19voto

Nicolas Guillaume Points 2370

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().

7voto

Mark Byers Points 318575

Il y a un String.format en Java, mais la syntaxe est un peu différente de en .NET.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X