2008-09-28 25 views
3

在python中,您可以在格式化的打印語句中使用元組,並在格式化的字符串中的指定位置使用元組值。例如:用於集合或數組的Java printf功能

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

是否有某種方式用在Java printf語句任何數組或集合以類似的方式?

我已經看過documentation,它似乎已經內置了一些類似Calendar的支持,但我沒有看到任何收藏。

如果這不是在java中提供的,是否有任何Java成語在這樣的情況下使用,您將填充集合,然後使用一個格式字符串從多個集合中打印值(除了嵌套循環)?

回答

12

的printf會有線沿線的一個聲明:

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

...的意思是一樣的[]。區別在於...允許調用者省略顯式創建數組。所以考慮:

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

這是等價的:

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

於是,又回到了你的問題,對於一個數組,你可以這樣寫:

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

對於集合:

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