Я пытаюсь создать экземпляр класса с помощью метода Constructor.newInstance (), но у меня возникают проблемы с правильным предоставлением параметров для конструктора.Проблема в том, что параметры конструктора доступны в виде массива String [], элементы которого я должен привести к соответствующим им типам.Это работает для объектов, но что, если некоторые параметры относятся к примитивным типам?
Вот упрощенный пример (который, кажется, будет работать, пока я не достигну примитивного типа):
Class fooClass = Class.forName("Foo");
Constructor[] fooCtrs = fooClass.getConstructors();
Class[] types = fooCtrs[0].getParameterTypes();
Object[] params = new Object[types.length];
for(int i = 0; i < types.length; i++) {
params[i] = types[i].cast(args[i]); // Assume args is of type String[]
}
Один разЯ нажму Int или что-то, я получу ClassCastException.Я делаю что-то не так?Нужно ли мне вручную оборачивать примитивы, с которыми я сталкиваюсь, или есть встроенный способ сделать это?