gpt4 book ai didi

Java通过属性名获取属性值

转载 作者:搜寻专家 更新时间:2023-10-30 21:05:19 25 4
gpt4 key购买 nike

在 Java 中是否可以通过名称获取类属性值?例如,我有这样的类(class)

public class Test {
private String field;
public String getField() {...}
public void setField() {...}
}

还有另一个带有 Map 的类

public class Main {
private static final Map<String, Long> map = new HashMap<String, Long>();
static {
map.put("field", new Long(1));
}
public void doSth() {
Set<String> keys = map.keySet();
Test t = new Test();
for (String key : keys) {
//t.getPropertyValueByName(key); ?
}
}

最佳答案

您可以使用一些提供基于属性的访问的图书馆。我认为最知名和最常用的是 beanutils .您可以找到 beanutils 的一个很好的例子“在行动”here .一些示例代码:

A someBean = new A();

// access properties as Map
Map<String, Object> properties = BeanUtils.describe(someBean);
properties.set("name","Fred");
BeanUtils.populate(someBean, properties);

// access individual properties
String oldname = BeanUtils.getProperty(someBean,"name");
BeanUtils.setProperty(someBean,"name","Barny");

关于Java通过属性名获取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18044978/

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