假设我有:
trait A
class B extends A
编译成类文件。 后来我使用反射加载那些:
val a = Class forName "A"
val b = Class forName "B"
有人可以告诉我如何检查b
是a
的子类型吗?
答案 0 :(得分:7)
使用isAssignableFrom
中的Class
方法:
a isAssignableFrom b
如果true
是b
或a
的子类/子接口,则返回b == a
。
答案 1 :(得分:2)
您只需在getInterfaces
上调用b
方法,然后遍历数组以查看其中是否有任何等于a
。