Конечно, это будет работать только для одного строкового параметра, но вы можете довольно легко его изменить.
Обратите внимание, что имя класса должно быть полным, т. Е. Включать пространство имен. Для вложенных классов вам нужно использовать доллар (поскольку это то, что использует компилятор). Например:
package foo;
publicclassOuter { publicstaticclassNested {} }
Чтобы получить Class объект для этого, вам понадобится Class.forName("foo.Outer$Nested").
Ответ 2
Вы можете использовать Class.forName() для получения Class объекта нужного класса.