假设我有简单的HashMap
:
Map<String, String> map = new HashMap<>();
map.put("field1","value1");
map.put("field2", "value2");
我也有简单的java类:
class SimpleClass {
public String field1;
public String field2;
}
使用从地图中获取的相应字段/值创建SimpleClass
实例的最简单,最优雅的方法是什么?在这种情况下,得到的SimpleClass
实例应该得到field1
值'value1and
field2value
value2`。
SimpleClass
已经定义,现在我们需要在map中找到匹配的键,如果匹配找到,它的值应该被赋值给相应的class字段。
在我的实际应用程序中,我将获得地图列表,我需要将其转换为qazxsw poi。 Map可以包含需要省略的其他键(如果没有匹配的类字段可用)。
我可以使用(例如)番石榴来制作像这样的变形吗?我在Android上,所以目前无法使用java流。
[编辑]
我的尝试:
List<SimpleClass>
使用ObjectMapper,
private SimpleClass mapToObject(Map<String, String> map)
{
SimpleClass result = new SimpleClass();
for(Field f: result.getClass().getDeclaredFields())
{
try
{
f.setAccessible(true);
f.set(result,map.get(f.getName()));
}
catch (Exception e)
{
Log.d("error", e.toString());
}
}
return result;
}