0

我有一个域对象 (DO) 和键值 (KV) 对象。如何将 DO 的每个字段映射到 KV 实例?

例子:

class DomainObject {
    String field1 = "value1";
    String field2 = "value2";
}

class KeyValue {
    String key;
    String value;
}

输入是 DomainObject,输出 - KeyValue 的两个实例(key="field1", value="value1"; key="field2", value="value2")。
PS 我已经使用Dozer进行场到场的映射,但是我将如何进行场到 KV 的映射?

4

1 回答 1

0

也许您可以在 DomainObject 中创建 KeyValue 的引用,因此每个 KeyValue 都将映射到 DomainObject 的字段列表中的一个项目。与此类似的东西:

List<KeyValue> list = new ArrayList<KeyValue>();
list.add(new KeyValue("field1", "value1"));
list.add(new KeyValue("field2", "value2"));    

DomainObject domainObject = new DomainObject(list);     

class DomainObject {
    List<KeyValue> fields;

    public DomainObject(List<KeyValue> keyValueList){
        this.fields=keyValueList;
    }

    public List<KeyValue> getFields() {
        return fields;
    }
}

class KeyValue {
    String key;
    String value;

    public KeyValue(String key, String value) {
        this.key=key;
        this.value=value;
    }
}

或者,也许您可​​以将哈希图用于此类任务http://tutorialswithexamples.com/java-map-and-hashmap-tutorial-with-examples/

于 2013-08-06T16:08:55.027 回答