Метод isAssignableFrom
Метод isAssignableFrom проверяет, можно ли объект класса, переданного в параметре, присвоить переменной текущего класса. Проще говоря, он отвечает на вопрос: «Является ли текущий класс суперклассом или интерфейсом для указанного класса?». В параметр мы передаем объект класса Class, который хотим проверить. Метод возвращает true, если объект переданного класса можно присвоить переменной текущего класса, и false в противном случае.
Синтаксис
Class.isAssignableFrom(Class<?> cls)
Пример
Давайте проверим, можно ли объект класса Integer присвоить переменной класса Number:
public class Main
{
public static void main(String[] args)
{
Class<?> numberClass = Number.class;
Class<?> integerClass = Integer.class;
boolean res = numberClass.isAssignableFrom(integerClass);
System.out.println(res);
}
}
Результат выполнения кода:
true
Пример
А теперь проверим обратную ситуацию: можно ли объект класса Number присвоить переменной класса Integer:
public class Main
{
public static void main(String[] args)
{
Class<?> numberClass = Number.class;
Class<?> integerClass = Integer.class;
boolean res = integerClass.isAssignableFrom(numberClass);
System.out.println(res);
}
}
Результат выполнения кода:
false
Пример
Давайте проверим, можно ли объект класса Integer присвоить переменной класса Integer (самому себе):
public class Main
{
public static void main(String[] args)
{
Class<?> integerClass = Integer.class;
boolean res = integerClass.isAssignableFrom(integerClass);
System.out.println(res);
}
}
Результат выполнения кода:
true
Смотрите также
-
метод
isInstance,
который проверяет принадлежность объекта классу -
метод
getName,
который возвращает полное имя класса -
метод
getSimpleName,
который возвращает простое имя класса -
метод
forName,
который загружает класс по имени