我有一个 Class
对象。我想确定 Class
对象所代表的类型是否实现了特定的接口(interface)。我想知道这是如何实现的?
我有以下代码。基本上它所做的是获取指定包中所有类的数组。然后我想遍历数组并将实现接口(interface)的 Class 对象添加到我的 map 中。问题是 isInstance()
将对象作为参数。我无法实例化接口(interface)。所以我对此有点不知所措。有什么想法吗?
Class[] classes = ClassUtils.getClasses(handlersPackage);
for(Class clazz : classes)
{
if(clazz.isInstance(/*Some object*/)) //Need something in this if statement
{
retVal.put(clazz.getSimpleName(), clazz);
}
}
最佳答案
您应该使用 isAssignableFrom
:
if (YourInterface.class.isAssignableFrom(clazz)) {
...
}
关于java - 确定一个类是否在 Java 中实现了一个接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12145185/