为什么下面的两个方法定义没有编译?
b.head
应该编译,因为b
是"自定义类型"列表。
List[T](a)
的类型为List[T]
,与genericList
type T = Any
type genericList = List[T]
class usesGenericList[genericList](val a: T, b: genericList){
def head() = b.head
// error: value head is not a member of type parameter genericList
def returnGenericList: genericList = List[T](a)
// error: found: List[$sess.cmd203.T](which expands to) List[Any] required: genericList
}
答案 0 :(得分:1)
您使用type genericList
将外部class usesGenericList[genericList]
遮挡。只需删除类类型参数。