如何从方法返回泛型类?

时间:2014-03-26 13:19:10

标签: scala generics polymorphism

我试图写一个方法"得到"这将返回一个类。但是,我希望能够返回某个具体类的任何子类,而不是具体的类。以下是具体案例:

def get(): Class[Base] = {
    classOf[Base]
}

现在我想把它变成一个通用方法,如下所示:

def get[T <: Base](): Class[T] = {
    classOf[Derived]
}

我该怎么做?

为了完整性:

class Base
class Derived extends Base

1 个答案:

答案 0 :(得分:1)

这应该有效:

def get(): Class[_ <: Base] = {
  classOf[Derived]
}