Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как сохранить информацию о типе?


Автор: Royan 1.5.2006, 14:05
Такая проблема, есть несколько классов (пусть они носят названия GiveString(), GiveInt()), имплементирующих метод getId() возвращающий Object. Есть еще один класс, который генерируется автоматически из XML, где осуществляется инициализация полей вызовом getId(). Все это выглядит примерно так
Код
String field1 = (String) giveStringObj.getId(0);
int field2 = ((Integer) giveIntObj.getId(0)).intValue();

Вопрос. Строки выше генерируются, поэтому проблемы с приведением типа нет (он известен на момент генерации), но по ходу выполнения программы требуется присваивать этим же полям (field1, field2) другие значения, используя те же объекты giveStringObj и giveIntObj, но совершенно ясно, что информация о типах теряется, как в таком случае привести значение нужному типу?

То есть чуть позже нужно будет  выполнить такой код: 
Код
field1 = (????) giveStringObj.getId(1);
field2 = ((????) giveIntObj.getId(5)).intValue();
 

Автор: LSD 1.5.2006, 14:20
Не понял вопроса. Проблема как реализовать setId() или в чем? 

Автор: Royan 2.5.2006, 10:22
Все, пардон, вопрос получился совсем не в тему, разобрался сам и поступил совсем иначе. Проще хранить индекс используемого типа, который идет на вход getId() и общее количество этих индексов, чтобы можно было, потом из них случайно выбрать другой индекс. Приведение здесь не в тему. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)