我有一个 Class
对象。我想确定 Class
对象表示的类型是否实现了特定接口。我想知道这是如何实现的?
我有以下代码。基本上它所做的是获取指定包中所有类的数组。然后我想遍历数组并将实现接口的 Class 对象添加到我的地图。问题是 isInstance()
将对象作为参数。我无法实例化接口。所以我有点不知所措。有任何想法吗?
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);
}
}
原文由 user489041 发布,翻译遵循 CC BY-SA 4.0 许可协议
你应该使用
isAssignableFrom
: