加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java通过属性名称获取属性值

发布时间:2020-12-14 05:32:16 所属栏目:Java 来源:网络整理
导读:在 Java中可以通过其名称获取类属性值吗? 例如,我有类喜欢 public class Test { private String field; public String getField() {...} public void setField() {...}} 和另一个类与地图 public class Main { private static final MapString,Long map = n
在 Java中可以通过其名称获取类属性值吗?
例如,我有类喜欢
public class Test {
    private String field;
    public String getField() {...}
    public void setField() {...}
}

和另一个类与地图

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.你可以找到一个很好的例子,在“在行动” here的beanutils.
一些示例代码:
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");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读