Возможно ли преобразовать тип через значение переменной?

Возможно ли передать через переменную тип для приведения?
Вместо этого:

int x = (int) 9.8;  

Можно ли сделать что-то вроде такого:

a = int; //что-то, что может хранить тип
int x = (a) 9.8;

Ответы (1 шт):

Автор решения: Ramiz

как уже ответили в комментариях, можно в переменную сложить класс, а потом используя метод cast привести объект в соответсвующий тип.

Class<MyType> a = MyType.class;
MyType x = a.cast(someObj);

но с примитивными типами (int, double, ...) это не работает, потому что тот каст, который вы привели в примере это не стандартное приведение типа, а сужение примитивного типа

→ Ссылка