Скажем, у нас есть функция:Как получить тип класса вложенного родового типа?
void doSomething(Class<?> clazz);
Если я хочу, чтобы назвать это для класса Foo, я бы назвал это так:
doSomething(Foo.class);
Как вызвать DoSomething(), если мой тип есть Foo < Boo>?
Я думаю, вопрос в том, что является эквивалентом Foo.class для Foo < Boo>?
Возможно ли это?
- Обновление ---
Я объясню больше.
У меня есть набранное боб:
класс EventMessage
<T>
{T полезной нагрузки;
Строковый тип;}
Объект этого типа преобразуется в форму Json (String), а затем положить на очереди JMS; Потребитель должен отменить его обратно от String до его первоначальной формы. Json ObjectMapper должен знать тип для преобразования. Скажи мое EventMessage полезной нагрузки Тип предложения, то я хочу что-то вроде этого:
< EventMessage Предложение> offerEvent = jsonObjectMapper.readValue (jsonMsg, EventMessage < Предложение> .class)
Кроме того, что нет такой вещи, как EventMessage<Offer>.class
.
Проблема заключается в том, что EventMessage
является типизированным классом, поэтому преобразователь Json не имел понятия, как его разрешить без дополнительной информации о типе полезной нагрузки.
Короткий ответ : вы не можете. Длительный ответ: временные решения зависят от того, что вы хотите сделать. –