我想获得实现或扩展Externalizable接口的所有类或接口。对于我使用的相同
Externalizable.class.isAssignableFrom(clasz)
但我的意图是仅获取实现或扩展Externalizable的类或接口。如果Externalizable不是一级的超类或超接口,则不需要clasz。如果有人可以帮助我提供解决方案,那就太好了。
最佳答案
听起来您只需要直接实现Externalizable
的类和接口。
Class<?>[] interfaces = clasz.getInterfaces();
for (Class<?> c: interfaces) {
if (c.equals(Externalizable.class)) {
// clasz is a direct descendent of Externalizable
}
}
如果您只需要了解Java标准版中的实现者,它们会在Externalizable javadoc中列出。