私は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);
}
}