Java - 如何检查类是否从某些类或接口继承?

Bit*_*lue 11 java reflection instances

我需要检查一下:

public static boolean check(Class<?> c, Class<?> d)
{
    if (/* c inherits from d */)
        return true;
    else
        return false;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?

没有可能c.newInstance()吗?


第一次标题错了.现在这是正确的.

Kev*_*sox 22

使用 isAssignableFrom

if(d.isAssignableFrom(c)){
    // then d is a superclass of c
    // in other words, c inherits d
}
Run Code Online (Sandbox Code Playgroud)

确定此Class对象表示的类或接口是否与指定的Class参数表示的类或接口相同,或者是它们的超类或超接口.如果是这样,它返回true; 否则返回false.如果此Class对象表示基本类型,则如果指定的Class参数恰好是此Class对象,则此方法返回true;否则返回true.否则返回false.

资源