說我有Int
小號演員(或者說:歸於)集合類型沒有指定類型參數
scala> val list = List(1, 2, 3, 4, 5)
list: List[Int] = List(1, 2, 3, 4, 5)
理所當然的List
,Scala是足夠聰明返回正確的類型我。現在,考慮到,我對List
的特定功能不感興趣,而是想要有一個更一般的(超)類型,比如Traversable
。很明顯,我可以指定它:
scala> val trav = list: Traversable[Int]
trav: Traversable[Int] = List(1, 2, 3, 4, 5)
但這意味着我也必須重複類型參數。
這將無法正常工作
scala> list : Traversable
<console>:9: error: type Traversable takes type parameters
list : Traversable
^
而且這兩個例子刪除類型參數信息完全
scala> list : Traversable[T forSome {type T}]
res2: Traversable[T forSome { type T }] = List(1, 2, 3, 4, 5)
scala> list : Traversable[_]
res3: Traversable[Any] = List(1, 2, 3, 4, 5)
有沒有辦法得到一個Traversable[Int]
不必鍵入Int
?
不錯的答案! +1 –
非常有見地。其實,我原本只對'F [A] <:
Debilski