gpt4 book ai didi

java - 为对象动态添加属性

转载 作者:搜寻专家 更新时间:2023-11-01 03:29:31 24 4
gpt4 key购买 nike

嗨:在我们的应用程序中,我们从数据库中检索了一些数据,例如,表中有列:id、name、age、address、email。

然后我们将根据客户获得其中的一些属性。

如果客户端需要id、name,我们获取id name,如果client需要id、name、age,我们获取id、name、age。

现在我们要创建一个类来包装这些属性。然而,我们并不知 Prop 体请求的是哪个字段。

String[] requestPro={"name","id"}; //this field is specified by client
Map<String, Object> map=new HashMap<String, Object>();
Entity en=Entity.newInstance();
for(String p:requestPro){
map.put(p, BeanUtils.getProperty(en, p));
}

这里可以用Class代替map吗?

最佳答案

如果我没理解错的话,您想动态地向一个类添加属性,或者更确切地说:向一个类的特定实例添加属性。

前者是可能的,例如在 Groovy 中,每个类都有一个元类对象,您可以在运行时为其分配行为,后者在 JavaScript 中是可能的,您可以在其中为对象的原型(prototype)和对象本身分配行为。但是这两个版本在 Java 中都是不可能的,因此在 Java 中可以使用 Map 或类似的结构。

关于java - 为对象动态添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4323328/

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