11 java reflection class
我正在尝试使用反射来确定传入的类是否实现了一个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;
}
Run Code Online (Sandbox Code Playgroud)
这是确定这个的最好/最有效的方法吗?我也看到了一种IsWidget.class.isAssignableFrom(Class<?>)方法......
rge*_*man 13
我会使用该isAssignableFrom方法来确定是否IsWidget是超接口:
return IsWidget.class.isAssignableFrom(clzz);
Run Code Online (Sandbox Code Playgroud)
引用上面链接的Javadoc:
确定此Class对象表示的类或接口是否与指定的Class参数表示的类或接口相同,或者是它们的超类或超接口.
| 归档时间: |
|
| 查看次数: |
4272 次 |
| 最近记录: |