РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
99 of 1163 menu

Метод cast

Метод cast класса Class выполняет приведение переданного объекта к типу, который представляет данный объект Class. В единственный параметр мы передаем объект, который нужно привести к типу. Метод возвращает тот же объект, но уже с типом, соответствующим данному Class. Если объект не может быть приведен к указанному типу, выбрасывается исключение ClassCastException.

Метод удобен, когда тип известен только во время выполнения, например, при работе с рефлексией или обобщениями.

Синтаксис

Class<T> clazz = T.class; T obj = clazz.cast(object);

Пример

Давайте приведем объект типа Object к типу String с помощью метода cast:

public class Main { public static void main(String[] args) { Object obj = "abcde"; Class<String> clazz = String.class; String res = clazz.cast(obj); System.out.println(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте попробуем привести объект типа Integer к типу String. Так как эти типы несовместимы, метод выбросит исключение:

public class Main { public static void main(String[] args) { Object obj = 12345; Class<String> clazz = String.class; try { String res = clazz.cast(obj); System.out.println(res); } catch (ClassCastException e) { System.out.println("ClassCastException"); } } }

Результат выполнения кода:

"ClassCastException"

Пример

Давайте используем метод cast для безопасного приведения объекта из коллекции Object к типу Integer:

import java.util.List; public class Main { public static void main(String[] args) { List<Object> list = List.of(1, 2, 3, 4, 5); Class<Integer> clazz = Integer.class; for (Object obj : list) { Integer res = clazz.cast(obj); System.out.println(res); } } }

Результат выполнения кода:

1 2 3 4 5

Смотрите также

  • метод isInstance,
    который проверяет принадлежность объекта типу
  • метод isAssignableFrom,
    который проверяет совместимость типов
  • метод getName,
    который возвращает полное имя типа
  • класс Class,
    который представляет информацию о типе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить