类对象继承/协方差

时间:2012-10-10 10:14:05

标签: scala covariance

我需要能够将Class对象相对于其父类型的层次结构进行比较。

我想要一些比较Class[A]Class[B]的方法。 我需要一种接受类对象的方法,并在A extends B

时返回true

显然我不能使用isInstanceOf,因为Class不是协变的。

Class[A].isInstanceOf[Class[B]]返回false。在那种情况下会返回什么?

1 个答案:

答案 0 :(得分:7)

尝试Class.isAssignableFrom(Class)

classOf[A] isAssignableFrom classOf[B]