类型推断和字符串文字,怎么做?

时间:2013-05-18 23:41:27

标签: scala type-inference literals string-literals

如何编译?

代码

object Playground2 {

  trait Client[S,A] {
    def wrap[S,A](v: A): (S,A)
  }

  class TestClient extends Client[String, Int] {
    override def wrap[String,Int](v: Int): (String, Int) = ("cache 2.00", v)
  }
}

错误 类型不匹配; found:需要java.lang.String(“cache 2.00”):String

1 个答案:

答案 0 :(得分:2)

以下是编译代码的版本:

object Playground2 {

  trait Client[S,A] {
    def wrap(v: A): (S,A)
  }

  class TestClient extends Client[String, Int] {
    override def wrap(v: Int) = ("cache 2.00", v)
  }
}

您在wrap函数中再次复制了类型,并且您不需要这些类型,因为它们已经在特征本身上定义。