Создание объекта, имеющего класс из переменной

uramer239

Допустим, есть переменная типа Class, например, мы ее получили Class t=a.getClass();. Как валидно создать объект данного класса?

1 ответ

uramer239

Проще всего

t.newInstance();

Это если вам надо использовать конструктор без параметров. В обратом случае

t.getConstructor(f1, f2, ...).newInstance(x1, x2, ...);

где f1, f2, ... - классы параметров конструктора, а x1, x2, ... - значения параметров конструктора.

Учтите, что вам придется делать небезопасный каст, если ваша переменная t имеет сырой тип Class, а не типизированный, вроде Class<Integer>.

licensed under cc by-sa 3.0 with attribution.