我写了一个接受Seq [String]的所有子类的对象的方法。不幸的是,它不会接受Array [String]类型的对象。 Array [String]不是Seq [String]的子类吗?数组[String]不是Scala中Seq [String]的子类吗?
scala> def test[T <: Seq[String]](x: T) = {}
test: [T <: Seq[String]](x: T)Unit
scala> val data = "This is a test string"
data: java.lang.String = This is a test string
scala> test(data.split(" "))
<console>:10: error: inferred type arguments [Array[java.lang.String]] do not conform to method test's type parameter bounds [T <: Seq[String]]
test(data.split(" "))
解释了视图的工作一点点,这个答案将解释所有重要的事情在这里。 – sschaef 2012-07-17 13:09:03
非常有启发性。我对Scala仍然陌生,对我来说,视图范围是新的。我会进入。感谢您的快速回复。 – 2012-07-17 13:19:01