让我们说我有对象书
class Book
{
String name;
String bookId;
String author;
}
我的getBooks将返回一个书籍列表(来自不同的图层),但是带有包含name,_id,_date,Auth等字段的对象
我需要创建一个带有书籍的新列表,但只有少量字段,并且还映射为不同的字段名称。仅需要名称,_id和auth作为名称,bookId,作者。 我知道我们可以通过迭代来实现它,但是用最少的步骤来实现它的最佳方法是什么。使用java 1.8
答案 0 :(得分:1)
您可以使用Dozer来实现此目的。您可以定义需要从一个映射到另一个的字段,还可以定义如何使用Dozer映射。
或者如果你想用流解决
CollectionType mappedCollection = yourCollectionToMap.stream().map(b -> {
MappingBookClass newBook = new MappingBookClass ();
//set values needed
newBook .setName(b.getName());
...
...
return newBook;
}).collect(Collectors.toList());