scala存在类型类型

时间:2014-09-10 23:52:44

标签: scala generics polymorphism typeclass

我想定义一个像这样的函数

def showList(items: Seq[_ : Show]) = {...} Seq的类型参数是具有上下文绑定Show

的任何类型

因此我可以致电showList(Seq(1, "abc"))

如何申报方法?

1 个答案:

答案 0 :(得分:0)

def showList[A: Show](items: Seq[A]) = { ... }

或更明确(具有直接提供类型类实例的优点)

def showList[A](items: Seq[A])(implicit ev: Show[A]) = { ... }

对于特定情况,由于scala集合是单态的,因此您需要Show[Any]个实例。