是否有java 8方式执行以下操作?
for(int i;i<=100;i++){
Person person=new Person();
person.setId(i);
person.setName("name"+i);
list.add(person)
}
解决方法:
是:
IntStream.rangeClosed(0, 100)
.forEach(i -> {
Person person=new Person();
person.setId(i);
person.setName("name"+i);
list.add(person);
});
编辑:
如下所述,访问流操作的lambda表达式参数内的现有列表与函数编程相反.最好这样做:
List persons = IntStream.rangeClosed(0, 100)
.mapToObj(i -> {
Person person=new Person();
person.setId(i);
person.setName("name" + i);
return person;
})
.collect(Collectors.toList());
标签:java,for-loop,lambda,java-8
来源: https://codeday.me/bug/20190716/1475517.html