Некоторые методы безопасного приведения типов в Java:
- Тождественное преобразование. 13 Преобразование выражения любого типа к точно такому же типу всегда допустимо и происходит автоматически. 13
- Расширение примитивного типа. 13 Переход от менее ёмкого типа к более ёмкому. 13 Такие преобразования безопасны, так как новый тип всегда гарантированно вмещает в себя все данные, которые хранились в старом типе. 13
- Сужение объектного типа. 1 Нисходящее приведение, то есть приведение от предка к потомку (подтипу). 1 Возможно только если исходная переменная является подтипом приводимого типа. 1 Требует явного указания типа. 1
- Преобразование к строке. 13 Любой тип может быть приведён к строке, то есть к экземпляру класса String. 1
- Запрещённые преобразования. 13 Не все приведения между произвольными типами допустимы. 1 Например, к запрещённым преобразованиям относятся приведения от любого ссылочного типа к примитивному и наоборот (кроме преобразования к строке). 1
Также для безопасного приведения типов в Java используют рефлективные утилиты, которые позволяют производить приведение типов без риска получить ClassCastException. 2