在 python 中,您可以在格式化打印语句中使用元组,并且元组值用于格式化字符串中指定的位置。例如:
>>> 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它似乎内置了对日历等某些类型的支持,但我没有看到任何集合。
如果 java 中没有提供,是否有任何 java 习惯用法可用于这种情况,您正在填充集合,然后使用一种格式字符串(不仅仅是嵌套循环)打印来自许多集合的值?
最佳答案
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());
关于集合或数组的 Java printf 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/146390/