rth*_*hur 0 java interface class
我需要通过递归给定对象的所有接口和超类.当父是另一个类时,这很好,但是当一个接口扩展另一个接口时,我得到一个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());
}
}
Run Code Online (Sandbox Code Playgroud)
这会抛出NullPointerException而不是Foo按预期打印.有没有办法获得界面的超类?
使用
Bar.class.getInterfaces()
获取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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2661 次 |
| 最近记录: |