避免模式匹配中的类型擦除
|
我正在尝试解决模式匹配中的类型擦除。假设:
import java.io._
trait Serializer[V] {
def save(os: OutputStream, v: V): Unit
def load(in: InputStream): V
}
trait HasSerializer[V] { def serializer: Serializer[V] }
如何在没有警告和没有asInstanceOf
的情况下进行编译:
def test[V](os: OutputStream, v: V): Unit = v match {
case hs: HasSerializer[V] => hs.serializer.save(os, v)
case _ => ???
}
? a3ѭ是用映射中的值调用的,并且没有提供类清单的方法。
也许有任何奇特的提取技巧?
没有找到相关结果
已邀请:
2 个回复
赣借
究补闯
的实例时,我的用例是序列化,并且不需要
作为返回类型。从而
就足够了,任何类型都可以混入其中。
对于反序列化,我们可以提供解串器以及
的构造,或者依赖通过
进行类查找。