Во-первых, звучит ужасно. Отражение, как правило, очень плохая идея.
Редактировать: Как отмечает @Holger в комментариях, динамическая c проверка иерархий типов также является действительно плохой идеей. (Жаль, что для этого появилось несколько новых языковых возможностей. Хо-ха-ха.) В целом, сохраняйте иерархию типов плоской. Но это совершенно новый чайник из sh. По моему опыту, это отражение, которое обычно (не всегда, Credit Suisse!) Подчеркивает и способствует путанице.
Сказав, что: Вам, конечно, понадобится полное имя класса (хотя вы можете проверить последовательность пакетов). Оттуда методы Class.forName
позволят вам восстановить объект Class
(хотя, если вы используете несколько загрузчиков классов, это может привести к еще более затруднительным последствиям). Тогда вам просто нужно Class.isAssignableFrom
.