有没有一种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<Person> persons = IntStream.rangeClosed(0, 100)
.mapToObj(i -> {
Person person=new Person();
person.setId(i);
person.setName("name" + i);
return person;
})
.collect(Collectors.toList());
参见https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句