【发布时间】:2011-11-29 06:06:00
【问题描述】:
我需要创建实体中包含的字段/值的 Hashmap,因此我可以使用它们在包含字段名称标签的字符串中替换它们。
我有这个代码:
public static String replaceTags(String message, Map<String, String> tags) ...
它将 message 中的所有标签替换为 tags 中的等效值,但为了构建 Map 表,我需要采取“任何”实体,并能够从实体创建地图。那么,我怎样才能做到这一点呢?获取一个例程,在该例程中我发送实体并返回一个包含所有字段和值的 Map。
public static Map<String, String> getMapFromEntity(Object entity){
Map<String, String> map = new HashMap<String, String>();
...?????
return map;
}
我知道我可以使用反射,这是我发现完成此任务的唯一方法,但是还有其他方法可以完成相同的操作吗?我的意思是一种更有效的方法。
谢谢。
【问题讨论】:
-
如果您不知道输入字符串中可以存在哪些标签,反射将是 AFAIK 的唯一方法。
-
是的@aishwarya,实体可以包含任何类型的数据,所以反射是唯一的方法,谢谢。
标签: java reflection