有一个List<MyObject>
,它的对象是创建将添加到具有不同元素的另一个List的对象所必需的:List<OtherObject>
。
我就是这样
List<MyObject> myList = returnsList();
List<OtherObj> emptyList = new ArrayList();
for(MyObject obj: myList) {
OtherObj oo = new OtherObj();
oo.setUserName(obj.getName());
oo.setUserAge(obj.getMaxAge());
emptyList.add(oo);
}
我正在寻找
lamdba
表达式来做完全相同的事情。 最佳答案
如果定义构造函数OtherObj(String name, Integer maxAge)
,则可以使用以下java8样式:
myList.stream()
.map(obj -> new OtherObj(obj.getName(), obj.getMaxAge()))
.collect(Collectors.toList());
这会将列表
myList
中的所有对象映射到OtherObj
,并将其收集到包含这些对象的新List
中。