如果我知道值,如何从Java接口获取变量名?

时间:2016-06-03 18:49:33

标签: java selenium reflection interface

我有一个像这样的Java界面:

String User_Name= "username";
String User_Password="password";

在另一个类里面,我想知道值时得到变量Name。例如,我知道“用户名”,我想找到这个值存储在哪个变量中。我希望得到User_Name。 这可能与反思有关吗?

1 个答案:

答案 0 :(得分:1)

您可以使用反射遍历所有字段并检查值。这应该作为一个基本的例子:

for (Field field : obj.getClass().getDeclaredFields()) {
    if(field.get(obj) == desired_value)
           System.out.println("The matching field is " + field.getName());
    System.out.println(field.getName()
             + " - " + field.getType()
             + " - " + field.get(obj));

}