У меня есть строка с именем класса, есть способ (писать на Java), чтобы использовать эту строку при создании нового экземпляра этого класса, чтобы сделать что-то вроде это:
объект obj = новые данныеInString.
Итак, dataInString анализируется из строки.Способ использования строки для создания новых классов
ответ
Вы имеете в виду что-то вроде Class.forName(String)
? Цитирование javadoc метода:
Возвращает объект
Class
, связанный с классом или интерфейсом с заданным именем строки. Вызов этого метода эквивалентно:Class.forName(className, true, currentLoader)
где
currentLoader
обозначает определяющий загрузчик классов текущего класса.Например, следующий фрагмент кода возвращает дескриптор выполнения
Class
для класса с именемjava.lang.Thread
:Class t = Class.forName("java.lang.Thread")
Вызов
forName("X")
вызывает класс с именем X для инициализации.
А затем вызовите Class#newInstance()
на возвращенном Class
(он должен иметь пустой конструктор).
Создает новый экземпляр класса, представленного этим объектом
Class
. Класс создается таким образом, как если бы выражениеnew
с пустым списком аргументов. Класс инициализируется, если он еще не был инициализирован.
Использование отражений для создания объектов. Простой класс.forName («com.blah.blah») должен стать хорошей отправной точкой для поиска дополнительной информации об отражениях.
Вы можете использовать reflection.
Предполагая, что класс имеет конструктор не-арг, то следующий должен сделать трюк
Class<?> clazz = Class.forName("someclass");
Object obj = clazz.newInstance();
Если вам нужно создать объект, используя другой конструктор, то вам нужно будет сделать что-то как это:
Constructor<?> ctor = clazz.getConstructor(ArgClass.class, Integer.TYPE);
Object obj = ctor.newInstance(arg, Integer.valueOf(42));
Есть целый ряд проверяемых исключений, которые должны быть обработаны в любом случае ...
Я думаю, вы имели в виду Integer.TYPE вместо Integer.CLASS. Кроме того, я бы рекомендовал против нового Integer (...) при использовании Java 1.5 или выше (поскольку вы используете varargs, это было бы так): либо полагаться на автобоксинг, либо использовать Integer.valueOf (...) - это избегает создания новых объектов для часто используемых экземпляров. –
Спасибо .... исправлено –
- 1. Лучший способ для создания новых элементов DOM
- 2. python 3 новых для классов
- 3. Простой способ систематического создания новых узлов?
- 4. Использования подсписков для создания новых списков, где цифры не повторяются
- 5. Использования Блестящих входов для создания новых переменных в наборе данных
- 6. Получение оболочки Microsoft для использования Spring.Net для создания тестовых классов
- 7. Простейший способ использования/создания PendingIntent
- 8. fwrite для создания новых страниц
- 9. Лучший способ для создания новых элементов DOM с помощью Jquery
- 10. Это правильный способ создания иерархии классов?
- 11. Tomcat Hot Depolyment для новых файлов классов
- 12. Использование потока для создания экземпляров новых объектов
- 13. лучший способ для создания строки в Java
- 14. правильный способ использования getBean() для создания фасоли динамически
- 15. Использование Reflections для создания новых экземпляров класса
- 16. Каков наилучший способ использования нескольких классов PHP?
- 17. Устойчивый способ совместного использования классов домена grails?
- 18. Создание новых классов исключений, новых аргументов
- 19. LINQ запрос для создания новых объектов
- 20. Java Reflection для создания новых объектов
- 21. для вставки() или для создания новых
- 22. Использование словаря для создания новых экземпляров объектов
- 23. Добавление новых классов в SGDClassifier?
- 24. Создание Java-объектов для создания новых объектов
- 25. Использование цикла для создания новых переменных
- 26. Полиморфный метод для создания списка новых объектов
- 27. Самый эффективный способ использования классов Singleton
- 28. Способ автоматического создания классов для символов из библиотеки Flash IDE
- 29. Использовать PHP для создания новых страниц?
- 30. Использование Html.EditorДля создания пустого для новых записей
Th anks, это направление, в котором я нуждаюсь. – Eran
Рад помочь. – fastcodejava