我需要使用lambda表达式生成一些新对象的列表。这些新对象继承了现有对象的某些特征。由于没有详细说明可能会很难理解,我将以父母和他们的孩子为例。
我想要根据人员列表生成一个孩子列表(一个人=一个孩子)。孩子只应该继承父母的某些特征(在这种情况下,假设是皮肤颜色)。
由于我有点被迫使用lambda表达式(但也想学习它的工作原理),我尝试了以下解决方案,但无法解决正确映射的问题(我还没有看到过这样的事情,而且我正在进行试错方法)。可能我的构造函数也做得不好。
public class Kid {
private Colour colour;
private Person person;
public Kid(Person person) {
this.colour = person.getColour();
}
public List<Kid> listOfKids() {
return people.stream()
.map(e -> new Kid(e));
}
}