Scala 简单类型不匹配错误

Scala 简单类型不匹配错误,scala,scala-collections,Scala,Scala Collections,我试着写一些简单的方法来列出 但是,这会导致以下错误: type mismatch; found : x$1.type (with underlying type A) required: A 我不明白为什么这个代码不起作用。可能我遗漏了一些非常明显的东西:问题在于您的toList方法定义。 通过这样做: def toList[A]: List[A] = this.uncons match { ... } 实际上,您正在定义一个新的类型a,其中您的方法是参数化的。 只需将该方法声明为: de

我试着写一些简单的方法来列出

但是,这会导致以下错误:

type mismatch; found : x$1.type (with underlying type A) required: A
我不明白为什么这个代码不起作用。可能我遗漏了一些非常明显的东西:

问题在于您的toList方法定义。 通过这样做:

def toList[A]: List[A] = this.uncons match { ... }
实际上,您正在定义一个新的类型a,其中您的方法是参数化的。 只需将该方法声明为:

def toList: List[A] = this.uncons match { ... }
很好,这个定义将使用类中定义的相同A,问题在于toList方法定义。 通过这样做:

def toList[A]: List[A] = this.uncons match { ... }
实际上,您正在定义一个新的类型a,其中您的方法是参数化的。 只需将该方法声明为:

def toList: List[A] = this.uncons match { ... }
很好,这个定义将使用类中定义的相同A