我需要检查:
public static boolean check(Class<?> c, Class<?> d)
{
if (/* c inherits from d */)
return true;
else
return false;
}
我该怎么做?
而且这是否可以在不使用 c.newInstance()
的情况下实现?
标题一开始是错误的。现在已经更正。
我需要检查:
public static boolean check(Class<?> c, Class<?> d)
{
if (/* c inherits from d */)
return true;
else
return false;
}
我该怎么做?
而且这是否可以在不使用 c.newInstance()
的情况下实现?
isAssignableFrom
。if(d.isAssignableFrom(c)){
// then d is a superclass of c
// in other words, c inherits d
}
试一试这个
if(c.isAssignableFrom(d)){
return true;
} else {
return false;
}
d.isAssignableFrom(c)
。 - Bitterblueif (c.isInterface()) return true;
public boolean isInterface()
确定指定的Class对象是否表示接口类型。 返回值: 如果此对象表示接口,则为true;否则为false。 sAssignableFrom
public boolean isAssignableFrom(Class<?> cls)
你尝试过使用
c.isInterface()???
来自文档
确定指定的 Class 对象是否表示接口类型。
c inherits d
的注释? - Kevin Bowersox