为什么这个函数不能编译?
case class MyType(n: Int)
def intersection(s1: Set[MyType], s2: Set[_ <: MyType]) =
(s1 & s2)
我收到以下错误:
错误:类型不匹配;found : Set[_$1] where type _$1 <: MyType required: scala.collection.GenSet[MyType] Note: _$1 <: MyType, 但 trait GenSet 在类型 A 中是不变的。您可能希望研究通配符类型,例如作为
_ <: MyType
. (SLS 3.2.10) (w & r)
有没有一种简单的方法可以在不使用 asInstanceOf 的情况下将第二个参数“提升”为 Set[MyType] 类型?