Я знаю имя класса, скажем «MyClass» и хочу получить объект Class
, т.е. MyClass.class для будущих ссылок. Есть ли способ сделать это?Как получить объект класса из имени класса в Java
Я просмотрел веб-страницы, но большинство вещей, которые я нашел, были связаны с ClassLoader
, которые, как я полагаю, не подходят для моего дела. Я не хочу инициализировать класс, но получаю только объект класса для использования в будущем.
EDIT: Что касается первых ответов на это:
Я уже проверил метод forName()
, но я подумал, что, как предполагается, также инициализировать класс. Теперь я могу вызвать его с полным аргументом и передать false
во второй аргумент, но третий должен быть null
или что?
Would
Class.forName("MyClass", false, null);
возвращение MyClass.class
?
В самом деле, что я хочу сделать, это заменить массив строковых идентификаторов, связанных с Class
объектов, с массивом идентификаторов, из которых объекты класса выбираются автоматически, чтобы избавиться от какой-то ручной работы :)
Спасибо за быстрые ответы и жаль, что не упоминал об этом раньше.
Class.newInstance делает зло с исключениями. –
Да. Вам нужно будет обрабатывать любые исключения инициализации. –
Чтобы это сработало, класс должен иметь доступный конструктор no-args. – Jesper