Java反射:如何获取变量的名称?使用Java反射,可以获得局部变量的名称吗?例如,如果我有这个:Foo b = new Foo();Foo a = new Foo();Foo r = new Foo();是否有可能实现一个方法,该方法可以找到这些变量的名称,如下所示:public void baz(Foo... foos){
for (Foo foo: foos) {
// Print the name of each foo - b, a, and r
System.out.println(***);
}}编辑:这个问题不同于在Java中是否有一种方法可以找到传递给函数的变量的名称?在这一点上,它更纯粹地询问是否可以使用反射来确定局部变量的名称,而另一个问题(包括公认的答案)则更侧重于测试变量的值。
3 回答

MYYA
TA贡献1868条经验 获得超4个赞
编辑(与评论有关):
public void printFieldNames(Object obj, Foo... foos) { List<Foo> fooList = Arrays.asList(foos); for(Field field : obj.getClass().getFields()) { if(fooList.contains(field.get()) { System.out.println(field.getName()); } }}
a == b, a == r, or b == r
编辑现在没有必要了,因为问题被澄清了
添加回答
举报
0/150
提交
取消