Scala:参数类型的匹配

时间:2016-12-05 13:27:20

标签: scala solr types

我制作的应用程序在Solr中使用Scala提出请求。 实际上,我有10个案例类,我在我的请求后实例化。 为了制作通用应用程序,我尝试使用参数类型。

我的问题:我必须切换我的Paramter类型并且它不能正常工作(由于擦除)。

查看我的反思&伪代码。:

getItem[Apple](10)

=>

def getItem[T](id : Option[Int]) = {
... // Here I request Solr then i want to create my caseClass from Solr docs.
mapsolr[T].toUseCase(docs) // send solr docs to map
}

这是我的映射:

class mapSolr(docs){
    def toUseCase[T] = {
       // Here i want to be able to make a switch on T
        typeOf[T] match {
        case x if x =:= typeOf[CaseClass1] =>
           blabla // (return List[CaseClass1]
        case x if x =:= typeOf[CaseClass2] =>
           blabla // (return List[CaseClass2]
       }
}

我收到错误"没有TypeTag可用于T"。我知道它是因为擦除,但我不知道该怎么做。

我只想测试我的参数类型......

感谢。

0 个答案:

没有答案