集合或数组的 Java printf 功能

标签 java collections printf

在 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/

相关文章:

java - 按坐标排列正方形

java.lang.RuntimeException : Unable to start activity Componen

c - 在 C 程序中包装 Printf 时出现问题

c - 为调用 printf 的宏添加前缀

c - 如何打印一个巨大的字符串

Java NIO read() 流结束

java - 从服务类向 Sqlite 添加数据时 Recyclerview 不更新?

java - <list>标签在spring中是如何工作的

java - 从集合中获取子类实例 - Java

java - 包含当且仅当在 Collection 类中 - Java