Да, этот код действителен - если два класса были загружены одним и тем же загрузчиком классов. Если вы хотите, чтобы два класса рассматривались как равные, даже если они были загружены различными загрузчиками классов, возможно, из разных мест на основе полностью определенного имени, просто сравните вместо этого полностью определенные имена.
Обратите внимание, что ваш код учитывает только точное совпадение, однако - он не обеспечит своего рода "совместимость присваивания", которая (скажем) instanceof
делает, когда видит, относится ли значение к объекту который является экземпляром данного класса. Для этого вы хотели бы посмотреть на Class.isAssignableFrom
.