如何解决如何在Java 8中使用Stream将List <FirstObject []>转换为List <SecondObject>?
我有清单:
public function categoriesToPost()
{
return $this->hasMany(Post::class);
}
如何在Java 8中使用Stream将 public function categories()
{
return $this->belongsToMany(Category::class,'category_id','id');
}
转换为List<Point[]> listPoints = ...
List<Quadrangle> quadrangles = ...
?
需要替换:
List<Point[]>
对象List<Quadrangle>
具有构造函数:
for(Point[] groupPoints : listPoints) {
quadrangles.add(new Quadrangle(groupPoints));
}
我尝试过:
Quadrangle
但这对我不起作用。我收到错误消息:
public Quadrangle(Point[] points) {
this.p1 = points[0];
this.p2 = points[1];
this.p3 = points[2];
this.p4 = points[3];
}
我认为List<Quadrangle> quadrangles = listPoints.stream()
.collect(Collectors.toCollection(o -> new Quadrangle(o)));
Required type:Point[]
Provided: <lambda parameter>
是数组lambda parameter
,但不是。
解决方法
尝试一下。
- 流式处理点数组列表。
- 映射到Quadrangle的新实例(这将应用构造函数参数)
- 返回四边形列表。
List<Quadrangle> quads = listPoints.stream()
.map(Quadrangle::new)
.collect(Collectors.toList());
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。