你好:在我们的应用程序中,我们从数据库中检索了一些数据,例如,表有列:id,name,age,address,email。
然后我们会根据客户的要求得到其中一些属性。
如果客户需要 id、姓名,我们将获取 id 姓名,如果客户需要 id、姓名、年龄,我们将获取 id、姓名、年龄。
现在我们要创建一个类来包装这些属性。但是我们并不确切知道需要哪个字段。
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));
}
Run Code Online (Sandbox Code Playgroud)
这里可以用Class来代替map吗?
如果我理解正确的话,您希望动态地将属性添加到类中,或者更确切地说:添加到类的特定实例中。
前者是可能的,例如在 Groovy 中,每个类都有一个元类对象,您可以在运行时为其分配行为,后者在 JavaScript 中是可能的,您可以为对象的原型和对象本身分配行为。但是这两个版本在 Java 中都是不可能的,因此在 Java 中需要使用 Map 或类似的结构。
| 归档时间: |
|
| 查看次数: |
23144 次 |
| 最近记录: |