gpt4 book ai didi

java - Java中获取接口(interface)的父接口(interface)

转载 作者:行者123 更新时间:2023-12-01 07:26:17 26 4
gpt4 key购买 nike

我需要递归访问给定对象的所有接口(interface)和父类(super class)。当父类是另一个类时,这可以正常工作,但是当一个接口(interface)扩展另一个接口(interface)时,我会得到一个 NullPointerException。

这是一个例子:

public class Test {

private interface Foo {

}

private interface Bar extends Foo {

}

public static void main(String args[]) {
System.out.println(Bar.class.getSuperclass().getSimpleName());
}
}

这会抛出 NullPointerException 而不是打印 Foo正如预期的那样。有什么方法可以获取接口(interface)的父类(super class)吗?

最佳答案

使用

Bar.class.getInterfaces()

获取Bar实现的接口(interface)。

更新

根据您的需要,您可能想要查找特定的接口(interface)或类:

Bar bar = ...

if (bar instanceof Foo) {
System.out.println(true);
}

// Or
if (Foo.class.isInstance(bar)) {
System.out.println(true);
}

// Or
if (Foo.class.isAssignableFrom(Bar.class)) {
System.out.println(true);
}

关于java - Java中获取接口(interface)的父接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24020413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com