Frage

In Python können Sie ein Tupel in einer formatierten print-Anweisung verwenden und die Tupel-Werte werden an den angegebenen Positionen in der formatierten Zeichenfolge verwendet. Zum Beispiel:

>>> a = (1,"Hello",7.2)
>>> print "these are the values %d, %s, %f" % a
these are the values 1, Hello, 7.200000

Gibt es eine Möglichkeit, jede Anordnung oder Sammlung in einer Java printf-Anweisung in einer ähnlichen Art und Weise zu benutzen?

Ich habe an dem Dokumentation und es scheint für einige Arten wie Kalender zur Unterstützung gebaut haben, aber ich sehe nichts für Sammlungen.

Wenn dies nicht in Java zur Verfügung gestellt wird, gibt es ein Java-Idiom, das so in einem Fall verwendet werden würde, wo man Sammlungen bevölkern und dann Drucke den Wert von vielen Sammlungen mit einem Format-String (andere als nur verschachtelt Looping) ?

War es hilfreich?

Lösung

printf wird eine Erklärung im Sinne von:

public PrintString printf(String format, Object... args);

... bedeutet soviel wie []. Der Unterschied ist der Anrufer ermöglicht ... explizit wegzulassen eine Anordnung zu schaffen. So betrachtet:

    out.printf("%s:%s", a, b);

Das ist das Äquivalent von:

    out.printf("%s:%s", new Object[] { a, b });

Also, auf Ihre Frage immer wieder, für ein Array, können Sie einfach schreiben:

    out.printf("%s:%s", things);

Für eine Sammlung:

    out.printf("%s:%s", things.toArray());

Andere Tipps

Sie könnten durch die Message Klasse zu.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top