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]
,但对于任意树深度。
我可以自己写这个,但我相信一定有一个图书馆已经这样做了,任何想法?
5条答案
按热度按时间sycxhyv71#
Apache Commons Lang有你需要的方法:
ClassUtils.getAllInterfaces
ao218c7q2#
Guava溶液:
字符串
这是一个比古老的Apache更强大、更清晰的反射API。
c86crjj03#
别忘了,Spring Framework有很多类似的util类,比如Apache Commons Lang。所以有:
org.springframework.util.ClassUtils#getAllInterfaces
8iwquhpp4#
字符串
camsedfj5#
字符串
的数据
型