java如何修复scala中的不匹配错误,其中发现:Seq[scala.collection.immutable.Seq required:scala.collection.Seq?
这就是错误:
<console>:123: error: type mismatch;
found : Seq[scala.collection.immutable.Seq[scalismo.geometry.Landmark[scalismo.geometry._3D]]]
required: scala.collection.Seq[scalismo.geometry.Landmark[scalismo.geometry._3D]]
val rigidTrans = LandmarkRegistration.rigid3DLandmarkRegistration(landmarks, reflandmarks.toSeq)
下面是代码片段:
val alignedSet = toAlign.map { mesh =>
val landmarks = pointIds.map{id => Landmark("L_"+id, mesh.point(PointId(id)))}
val rigidTrans = LandmarkRegistration.rigid3DLandmarkRegistration(landmarks, reflandmarks.toSeq)
mesh.transform(rigidTrans)
}
# 1 楼答案
如果仔细观察,简而言之,错误是),但我怀疑这是针对^{)。所以
found Seq[Seq[X]]; required Seq[X]
。虽然您的帖子没有显示控制台中的错误位置(插入符号^{reflandmarks.toSeq
给出了Seq[Seq[X]]
。要展平嵌套序列,可以使用flatten
,因此使用reflandmarks.toSeq.flatten
可能有效请注意,由于子类型,在需要
collection.Seq
的地方传递参数collection.immutable.Seq
始终是可能的,因此这与实际问题无关