将字段映射到类实例

问题描述 投票:-1回答:1

假设我有简单的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值'value1andfield2valuevalue2`。

SimpleClass已经定义,现在我们需要在map中找到匹配的键,如果匹配找到,它的值应该被赋值给相应的class字段。

在我的实际应用程序中,我将获得地图列表,我需要将其转换为qazxsw poi。 Map可以包含需要省略的其他键(如果没有匹配的类字段可用)。

我可以使用(例如)番石榴来制作像这样的变形吗?我在Android上,所以目前无法使用java流。

[编辑]

我的尝试:

List<SimpleClass>
java android list dictionary transformation
1个回答
0
投票

使用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;
    }
© www.soinside.com 2019 - 2024. All rights reserved.