【发布时间】:2013-05-24 23:26:03
【问题描述】:
在我的应用程序中,如果可能,我想打印出变量的值及其名称。
例如:
int testinteger = 0;
String type = > type of testinteger? (int);
String name = > name of testinteger? (testinteger);
System.out.println("The "+type+" "+name+" has a value of"+ testinteger);
所以我想阅读:int testinteger 的值为 0
不幸的是,我想,原始类型是不可能的。但对于String、Integer、Boolean 等类型,情况也是如此吗?有没有可能得到它?
【问题讨论】:
-
你应该真正解释你为什么要这样做。
-
@Curtos 我不认为这是该问题的重复。在这个问题中,所讨论的 本地标识符 在范围内并且仅在范围内使用。基本上它是在询问是否可以做
nameOf identifier -> String或typeOf identifier -> TypeOrClass。 -
@RichardJPLeGuen 我认为这更接近于重复,但该问题的前提仍然取决于“反思”。如果 Java 确实 支持这样的
nameOf/typeOf运算符(它不支持),它们将在编译时信息上进行操作并且独立于反射(很像obj.class)。
标签: java