如何检查类类型A是否在groovy中扩展类类型B.

Mic*_*d a 6 groovy

如何检查类类型B是否在groovy中扩展类类型A?

class A {
}

class B extends A {
}
Run Code Online (Sandbox Code Playgroud)

Jus*_*per 13

当右手参数是一个Class时,Groovy的in运算符将测试是一个关系,因此B in A等同于Java A.isAssignableFrom(B).这也适用于对象.new C() in A相当于new C() instanceof A.

class A {}
class B extends A {}
class C extends B {}

assert C in A // C inherits from A

interface I {}
interface J extends I{}

assert J in I // J extends I

class D implements I {}

assert D in I // D implements I

final o = new C()
assert o in A // o is an instance of A
Run Code Online (Sandbox Code Playgroud)