Как вызвать public <T> T doit(Class<T> clazz); с помощью MyClass<String>.class как clazz, где я не могу создать экземпляр или расширить MyClass.
РЕДАКТИРОВАТЬ: ответы Дэвида Уинслоу и "bmargulies" верны. (MyClass<String>) doit(MyClass.class); работает для исходного вопроса. Но удивительно, когда метод возвращает MyClass<T> вместо T, кастинг больше не будет компилироваться.
Изменить: я заменил List MyClass и добавил условие к моему исходному вопросу.