繁体   English   中英

将变量名称作为输入并输出其值-Java

[英]Take name of variable as input and output its value - Java

我需要制作一个以变量名作为输入,搜索类并输出该变量指向的值的方法。 但是,您可能已经猜到了,但我遇到了问题:

public String myMethod(String varname) {
    return varname;
}

如您所见,以上所有操作都是返回输入字符串。 有没有办法让它做其他事情?

编辑:对于那些要求解释的人,这里是:

假设我有以下代码:

String foo = "foo"; String bar = "bar";

我想制作一个采用变量名称并返回其值的方法。 因此,如果我使用上述方法并编写了myMethod(foo) ,则输出将为“ foo”; 同样,我希望myMethod(bar)赋予“ bar”。

使用Java Reflection API 例如:

private String foo = "foo text";
private String bar = "some text";

public String myMethod(String varname) throws Exception {
  Class<?> c = this.getClass();
  Field field = c.getDeclaredField(varname);
  Object fieldValue = field.get(this);
  return fieldValue.toString();
}

// myMethod("foo") returns "foo text"
// myMethod("bar") returns "some text"

演示

参考文献:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM