gpt4 book ai didi

java - 从 HashMap 设置对象字段

转载 作者:IT老高 更新时间:2023-10-28 20:51:52 24 4
gpt4 key购买 nike

是否有可以执行以下操作的库?:

给定一个 Object 和一个 HashMap,它会枚举 Hashmap 的键,并在 Object 中查找这些键的 setter 并设置相关的值。看起来像这样的东西:

public Object setData(Object object, HashMap<String, Object> fields) {
for (Entry<String, Object> entry : fields.entrySet()) {
Method m = object.getClass().getMethod("set" + entry.getKey(), entry.getValue().getClass());
if (m != null) {
m.invoke(object, entry.getValue());
}
}
return object;
}

乍一看,这项任务看起来很简单,但我希望有人已经注意到了一些细微差别。如您所知,重新发明轮子(好轮子)是一种不好的方法。

最佳答案

看看 Apache Commons BeanUtils

org.apache.commons.beanutils.BeanUtils.populate(Object bean, Map properties)

Javadoc:
根据指定的名称/值对填充指定 bean 的 JavaBeans 属性。该方法使用 Java 反射 API 来识别对应的“属性 setter”方法名称,并处理 String、boolean、int、long、float 和 double 类型的 setter 参数。

关于java - 从 HashMap 设置对象字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895962/

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