我想获得实现或扩展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中列出。

09-28 14:27