![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| marrymerryman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.8.2011 Репутация: нет Всего: нет |
Здравствуйте.
Уже несколько дней не могу решить проблему инициализации generic'а при создании экземпляра класса.
Как я понял, работа с generic'ами в java осуществляется через reflection. чтобы получить список generic параметров, нужно поддерживать интерфейс ParameterizedType. Но по какой-то причине у меня не срабатывает условие if (genericType instanceof ParameterizedType) соответственно persistentClass у меня null и невозможно создать экземпляр V в рантайме. Сразу оговорюсь, что я не java программист. Очень нужно быстро въехать в проект и кое-что дописать. Заранее благодарность за дельные советы. |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Generics в существуют только на этапе компиляции, в рантайме их нет. Так что инстанс generic-типа в рантайме не создашь.
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| marrymerryman |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.8.2011 Репутация: нет Всего: нет |
Ну, для для работы с подставленным типом на место generic'а V у меня и используется функция
я ведь не могу написать
это вызовет ошибку компиляции поэтому нужно через reflection
Но у меня возникает nullPointerException, так как функция getGenericClassInstance возвращает Null; не срабатывает условие if (genericType instanceof ParameterizedType) {. Вроде должно срабатывать, так как класс VehicleForm содержит generic-и |
||||||||
|
|||||||||
| Farmazon |
|
|||
![]() Разработчик ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 7.7.2006 Репутация: 1 Всего: 5 |
это хак)
не стоит так с Generic извращаться. Очень сильно подозреваю что у тебя в genericType - что-то от Object. Проверь во время исполнения, кинь брекпоинт. Это сообщение отредактировал(а) Farmazon - 8.8.2011, 11:16 -------------------- Таково моё общее мнение. |
|||
|
||||
| Farmazon |
|
|||
![]() Разработчик ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 7.7.2006 Репутация: 1 Всего: 5 |
Гляди:
Добавлено через 13 минут и 25 секунд Если тебе хоть как-то удастся добраться до String - скажи как. +) -------------------- Таково моё общее мнение. |
|||
|
||||
![]()
|
| Правила форума "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. |