0

记录大量字段值的最简洁方法是什么?例如,假设您有 6 个字段要输出给定行的所有 int 类型的值。

最明显的解决方案是执行以下操作:

System.out.println("renderMap() xTile: " + xTile + "  yTile: " + yTile + 
    "  maxXTile: " + maxXTile + "  maxYTile: " + maxYTile + "  xPixelOffset: " + 
    xPixelOffset + "  yPixelOffset: " + yPixelOffset);

如果您要进行大量更改而始终需要编写上述调试行,那么在 Java 中是否有更简洁且不那么痛苦的方法?

我接受我在上面所做的可能只是最简洁的语法,但对此进行确认(或反驳)会很好。

我最终将此作为解决方案(比我上面的要求少一点,但我会接受它):

System.out.println(String.format("%d %d  %d %d  %d %d", xTile, yTile, 
    maxXTile, maxYTile, xPixelOffset, yPixelOffset));
4

1 回答 1

0

制作一个格式字符串并使用 String.format(formatstring, object.value1, object.value2, ...) 。这并没有那么简洁,但它看起来更整洁,因为不是变量和字符串的结构混合在一起,而是完全描述了你想要的格式,然后完全描述了你将放置在其中的值。如果您曾经在 C 语言中使用过 printf,那么它非常相似。

http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#format(java.util.Locale , java.lang.String, java.lang.Object... )

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax

这不适用于 Java(除非你可以用反射做一个技巧?)但是在像 Python 这样的语言中,所有对象都秘密地拥有变量名到值的哈希映射,你可以遍历这个哈希映射并自动构造一个调试字符串它的变量名和值。

于 2013-03-18T03:35:59.383 回答