java - 有没有办法根据给定的字符串设置实例的成员变量?

标签 java

我想做类似下面的事情...这样的事情在动态语言中很容易,但我想知道在 Java 中是否可能。

public class Person {
    private String name;

    public void setMember(String memberName, String memberValue) {
        // look at memberName, see that it is "name", and then set this.name to whatever memberValue is.
    }
}

最佳答案

也许是误解,但你可以使用

if ("name".equals(memberName)) this.name = memberValue;

但从更一般的意义上讲,您可以使用反射来设置值

Field nameFld = Person.class.getDeclaredField("name");
nameFld.setAccessible(true);
nameFld.set(this, memberValue);

关于java - 有没有办法根据给定的字符串设置实例的成员变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58150749/

相关文章:

java - Websocket:如何将消息推送给目标用户

java - Richfaces tabPanel 中未呈现合成

java - 在文件中写入 '\t' '\n' 等字符,例如 string_?

java - OnTouchEvent 在 Android 中无法正常工作

java - Button.performClick() 不起作用

java - 如何告诉 Spring 扫描给定的注释而不用 @Component 注释该注释?

java - 改造迁移至2.0

java - spring cassandra 数据版本 2.1.4 分页

java - java内存分配

java - 可比接口(interface)取决于大小?