您好: 在我们的应用程序中,我们从数据库中检索了一些数据,例如,表格中包含以下字符: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替换地图吗?
答案 0 :(得分:2)
如果我理解正确,您希望动态地向类添加属性,或者更确切地说:向类的特定实例添加属性。
前者是可能的,例如在Groovy中,每个类都有一个元类对象,您可以在运行时为其分配行为,后者在JavaScript中是可能的,您可以在其中将行为分配给对象的原型和对象本身。但是这些版本都不可能在Java中使用,因此在Java中可以使用Map或类似的结构。