Да, я понимаю. Но дженерики же инвариантны, поэтому вариант только один. Возможно, есть пример реального вызова и ожидаемых вариантов ответа? Думаю, это помогло бы понять, что хочется получить.
Хочу, чтобы при вызове моего метода “add”. 2 типа были одинаковы.
Вот реальный код:
private final Map<Class<Object>, Supplier<ChatFormHandler<Object>>> formHandlers = new HashMap<>();
public <ChatForm> void addFormHandlerBuilder(Class<ChatForm> formType, Supplier<ChatFormHandler<ChatForm>> chatFormHandlerBuilder){
formHandlers.put(formType, chatFormHandlerBuilder);
}