java – 动态添加对象的属性

你好:

在我们的应用程序中,我们从数据库中检索了一些数据,例如,表格中包含以下字符:id,name,age,address,email.

然后我们将根据客户获得一些这些属性.

如果客户端需要id,name,我们获取id名称,如果客户端需要id,name,age,我们会得到id,name,age.

现在我们要创建一个包装这些属性的类.但是,我们并不确切地知道请求哪个字段.

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替换地图吗?

最佳答案 如果我理解正确,您希望动态地向类添加属性,或者更确切地说:向类的特定实例添加属性.

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

点赞