在我的应用程序中,如果可能,我想打印出变量的值及其名称。
例如:
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
等类型也是如此?有没有可能得到它?
答案 0 :(得分:1)
你真的不能这样做;但是,您可以使用Map<String,String>
以非动态方式执行此操作。键将是类型+变量名称(您必须对它们进行硬编码),并且值将是与这些变量相关联的实际值(当然,以字符串形式)。
答案 1 :(得分:0)
获取变量名称很困难,但如果您使用Integer
代替int
,则可以执行以下操作:
Integer testInteger = 1;
String type = testInteger.class.getName();
System.out.println(type);
如果你坚持使用类而不是原语,你可以利用类文字 - 即每个对象的.class
变量。