在python中,您可以在格式化的print语句中使用元组,并且在格式化字符串中的指示位置使用元组值。例如:

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

有没有办法以类似的方式在java printf语句中使用任何数组或集合?

我查看了文档它似乎内置了对某些类型的支持,如日历,但我没有看到任何集合。

如果在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());

其他提示

您可能对 MessageFormat 类。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top