В Java, чтобы определить класс объекта, хранящегося в переменной, можно использовать оператор instanceof
. Оператор instanceof
проверяет, является ли объект экземпляром определенного класса или его потомка.
Пример:
public class MyClass { public static void main(String[] args) { Object obj = "Hello"; if (obj instanceof String) { System.out.println("obj является экземпляром класса String"); } else if (obj instanceof Integer) { System.out.println("obj является экземпляром класса Integer"); } else { System.out.println("obj не является экземпляром ни одного из этих классов"); } } }
Выполнение данного кода выведет "obj является экземпляром класса String".
Также, в некоторых случаях, когда переменная объявлена с явным типом, можно использовать метод getClass()
для получения объекта Class
, представляющего тип переменной.
Пример:
public class MyClass { public static void main(String[] args) { String str = "Hello"; Class<?> c = str.getClass(); System.out.println("Тип переменной str: " + c.getName()); } }
Выполнение данного кода выведет "Тип переменной str: java.lang.String".
Таким образом, оператор instanceof
и метод getClass()
позволяют определить класс объекта, хранящегося в переменной.