gpt4 book ai didi

java - 变量中的属性名称

转载 作者:行者123 更新时间:2023-12-01 22:36:17 24 4
gpt4 key购买 nike

;如何使用字符串变量的值作为属性或方法名称?

想做这样的事情:

class Person {
public String firstname;
}

String myAttributeName="firstname";
Person obj = new Person();
String firstNameOfObj = obj.{myAttributeName};

最佳答案

如果你真的想要这样做,你可以使用反射:

Person obj = new Person();
Method method = Person.class.getMethod("getFirstname");
String firstname = method.invoke(obj);

但正如评论中提到的,您最好使用映射来保存属性值:

class Person {
private Map<String,Object> attrs = new HashMap<>();

public void setAttribute(String attr, Object value)
{
attrs.put(attr,vaue);
}

public Object getAttribute(String attr)
{
attrs.get(attr);
}

}

Person person = new Person();
person.setAttribute("firstname","patrick");
String firstname = (String)person.getAttribute("firstname");

关于java - 变量中的属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26827197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com