尝试在List上定义新的隐式方法时出错

sim*_*mao 1 scala implicit-conversion

我试图使用以下代码添加newMethodList类上调用的方法.

implicit class ListCompanionOps(f: List.type) extends AnyVal {
  def newMethod(p: String) = {
    println(p)
  }
}
Run Code Online (Sandbox Code Playgroud)

但编译器抱怨以下错误:

$ scalac test.scala
test.scala:3: error: ListCompanionOps is already defined as (compiler-generated) method ListCompanionOps
implicit class ListCompanionOps(f: List.type) extends AnyVal {
               ^
one error found
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢

Rob*_*een 5

它应该是:

implicit class ListCompanionOps[A](val f: List[A]) extends AnyVal {
Run Code Online (Sandbox Code Playgroud)

List.type将意味着一些被称为对象的类型List.