【问题标题】:How can I return a generic class from a method?如何从方法返回泛型类?
【发布时间】:2014-03-26 13:19:09
【问题描述】:

我正在尝试编写一个返回类的“get”方法。但是,我希望能够返回某个具体类的任何子类,而不是具体类。下面是具体案例:

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

现在我想把它变成一个通用方法,像这样:

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

我该怎么做?

为了完整性:

class Base
class Derived extends Base

【问题讨论】:

    标签: scala generics polymorphism


    【解决方案1】:

    这应该可行:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      • 2023-03-12
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多