В Java, Class
имеет метод isAssignableFrom
, определенный следующим образом:
public boolean isAssignableFrom (Class > cls)
Определяет, является ли класс или интерфейс, представленный этим объектом
Class
, тем же самым, или суперклассом или суперинтерфейсом класса или интерфейса, представленного указаннымПараметр класса
. Если это так, он возвращаетистину
; в противном случае возвращаетсяfalse
. Если этот объектClass
представляет примитивный тип, этот метод возвращаетtrue
, если указанный параметрClass
является именно этим объектомClass
; в противном случае возвращаетсяfalse
.В частности, этот метод проверяет, может ли тип, представленный указанным параметром
Class
, быть преобразован в тип, представленный этим объектомClass
, через преобразование идентификаторов или через преобразование расширяющихся ссылок. . Подробнее см. Спецификацию языка Java, разделы 5.1.1 и 5.1.4.Параметры:
cls
- проверяемый объектClass
Возвращает:
логическое значение
, указывающее, имеют ли объекты типа
] cls
может быть назначен объектам этого класса
Класс
реализует интерфейс Type
. Существует ли эквивалентный метод isAssignableFrom
, который работает с типами Type
, а не только с Class
es? Например, существует ли метод, который определяет, может ли переменная типа List
(которая будет представлена через экземпляр ParameterizedType
) может быть присвоена переменной типа Список extends Object>
?