我寫了一個接受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