2014-02-13 17 views
9

这可能很简单,但我无法在文档中找到它。 我有一个个人类Orika - 从列表转换

class BasicPerson { 
    private String name; 
    private int age; 
    private Date birthDate; 
    // getters/setters omitted 
} 

,我想改变他们将其更改为

ArrayList<PersonDTO> 

但出一个明确的循环是

ArrayList<Person> 

列表。 有没有办法使用MapperFacade.map列表来列出一个行转换?

+0

你可以Guava和Lists.transform。 [链接](http://stackoverflow.com/questions/7383624/how-to-transform-listx-to-another-listy) –

+0

谢谢。但orika是处理字节码似乎更快。 – Jeb

+0

另外,我发现很难在其网站顶部使用框架或库。https://code.google.com/p/guava-libraries/wiki/FunctionalExplained - “过量使用番石榴的函数式编程语言会导致到冗长,混乱,无法读取和低效率的代码,这些是番石榴最容易(也是最常见)被滥用的部分,而当你为了让代码“一行代码”而荒谬不已时,Guava团队流泪“ – Jeb

回答

13

它具有内置的此功能。您是否尝试过使用方法

List<D> ma.glasnost.orika.impl.ConfigurableMapper.mapAsList(Iterable<S> source, Class<D> destinationClass)

我试图找到更新版本的Javadoc,但这里是1.3.5之一。目前的版本是1.4.5。 MapperFacade Class

+4

是的,上面的答案是正确的。你可以使用 'return mapper.mapAsList(basicPerson,PersonDTO.class);' 应该被接受。 –