列表属性到对象属性-ModelMapper

时间:2019-04-11 14:15:18

标签: java converters modelmapper

当我尝试在Java 8中使用模型映射器时遇到一些问题。 我有一个对象“人”和一个对象“文档” 我有类似的情况:

public class Doc   {

  private Integer type;
  private List<Documento> documentos = null;
  private Boolean flag;
}

public class Document {

    private Long doc1;
    private Long doc2;
    private Long doc3;
}

public class Person {

    private Integer type;
    private Long doc1;
    private Long doc2;
    private Long doc3;
    private Boolean flag;
}

modelMapper.addMappings(new PropertyMap<Person, Doc>() { 
    @Override
    protected void configure() {                
        map().setType(source.getType());
        map().setDoc1(source.getDocument().get(0).getDoc1().longValue());
        map().setDoc2(source.getDocument().get(0).getDoc2().longValue());
        map().setDoc3(source.getDocument().get(0).getDoc3().longValue());
        map()setFlag(source.getFlag());
    }
});

但是,这不起作用。

无效的源方法java.util.List.get()。确保该方法的参数为零,并且不返回void。

我只需要文档列表的第一个对象。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

Hugues M.ModelMapper: Ensure that method has zero parameters and does not return void中找出该解决方案,它回答了一个类似的问题,涉及到您遇到的异常。