如何确定Java类是否实现特定的接口

前端之家收集整理的这篇文章主要介绍了如何确定Java类是否实现特定的接口前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用反射来确定传入的类是否实现IsWdidget接口:
public boolean isAWidget(Class<?> clzz) {
    Class<?> runtimeClass = ClassLoader.getSystemClassLoader().loadClass(clzz.getName());
    Class<?>[] impls = runtimeClass.getInterfaces();
    for(Class<?> clz : impls)
        if(clz.getName().equals(IsWidget.class.getName()))
            return true;

    return false;
}

这是确定最佳/最有效的方法吗?我也看到一个IsWidget.class.isAssignableFrom(Class<?>)方法

解决方法

我将使用 isAssignableFrom方法来确定IsWidget是否是超级接口:
return IsWidget.class.isAssignableFrom(clzz);

引用上面链接的Javadoc:

Determines if the class or interface represented by this Class object is either the same as,or is a superclass or superinterface of,the class or interface represented by the specified Class parameter.

猜你在找的Java相关文章