当前位置: 首页 > 面试题库 >

获取一个类的所有(派生的)接口

贡威
2023-03-14
问题内容

java.lang.Class.getInterfaces返回所有直接实现的接口,即不遍历类树以获取所有父类型的所有接口。例如,层次结构

public interface A {}
public interface B {}
public interface C extends B {}

public class Foo implements A {} // Foo.class.getInterfaces() returns [A]
public class Bar implements C {} // Bar.class.getInterfaces() returns [C], note B is not included.

对于Bar我想得到[B, C],但对于任何任意的树深度。

我可以自己写这个,但是我确定必须有一个已经存在的库,有什么想法吗?


问题答案:

Apache Commons
Lang
具有您需要的方法:ClassUtils.getAllInterfaces



 类似资料:
  • 问题内容: 在Java中,是否有任何可能的方法来获取某个类的所有实例? 问题答案: 实例化类(Singleton模式)时,可以使用Factory静态初始化程序,然后将工厂构造函数中的每个生成的实例添加到List中。 像这样的东西:

  • 问题内容: 你好 我想获得在运行时在Java中实现接口的类的列表,这样我就可以进行查找服务而不必对其进行硬编码。有没有简单的方法可以做到这一点?我不害怕 问题答案: 最简洁的答案是不。 长的答案是,子类可以以多种方式出现,从根本上说,根本不可能分类找到它们。 您无法在运行时执行此操作,但只有在加载了类以及如何知道它们已加载后才能找到类?您可以扫描每个JAR和类文件,但这不是确定的。另外,还有URL

  • 问题内容: 在我的spring项目中,我的Dao类具有以下模板: 我的每个Dao类都具有以下结构: 这意味着当我调用方法findById,findByField,findAll时,我应该从Usuario,Usuario和List类型接收对象。 这两个拳头类的返回正确值,但最后一个不返回。当我运行此方法时(从我的服务类中): 我应该看到“ usuario”时收到“对象”作为响应。有人可以告诉我我在做

  • 下面是一个例子: 这方面的用例是创建有限状态机(FSM)。能够获得所有常量将帮助我编写一个测试用例,以确保每个新值在FSM映射中都有相应的条目。

  • 从以下对象 其中 null 将是 我如何实现