![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
olegrolik |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Например:
Вобщем, идея такая: В файле есть список строк. я бы хотел их использовать как имена объектов. Возможно такое? |
|||
|
||||
Skynin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 1.7.2007 Где: Харьков Репутация: 6 Всего: 10 |
У объектов нет имен, а есть - типы-классы. "Имя объекта" - это переменная-ссылка на него. Чтобы создать объект нужного типа - этот тип заранее должен быть описан в Вашей программе, и должен уметь заполняться с передаваемой строки. Чтобы распознать какой тип объекта должен создаться, а потом заполниться можно 1. Определить вручную, сравнивая имя типа в строке в if (myTypeName.Equals("NNN")) object nnn = new NNN() (можно упрятать это дело в фабрику классов) 2. Использовать reflection 3. Использовать сериализацию
Возможно. |
||||
|
|||||
olegrolik |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Skynin, согласен, что я неправильно выразился. Но смысл того, что я прошу понятен?
1. Что такое myTypeName? 2. Как именно использовать reflection (пример) ? 3. Как именно использовать сериализацию(пример) ? Наверняка уже придуман такой велосипед. Я не знаю как его искать. |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
olegrolik, можешь рассказать более раннюю постановку задачи? Потому что, то что ты хочешь (если я правильно понял) - имя переменной становиться известным только на этапе выполнения - никакого практического смысла не имеет. Поставить имя в соответствие объекту в рантайме можно с помощью, например, HashMap.
|
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Мне кажется здесь какая-то путаница. Вы хотите создать переменную (содержащую ссылку на объект) с именем, которое будет подставляться из файла при работе программы. Но зачем это нужно? Ведь имена переменных во время работы программы никто не видит - они видны только разработчику.
Может быть Ваша программа обращается к разным переменным в зависимости от того, что содержится в файле? Я бы использовал для этого структуру TreeMap, а в файле хранил бы не имена переменных, а ключи, по которым объекты и извлекались бы из этой структуры. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
olegrolik |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
ivg, _Y_, вы правы насчёт практического использования.
Сейчас сам понял, что не получится нормально работать с созданным объектом. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |