Нельзя создавать экземпляр типа параметра

Создавать экземпляр типа параметра невозможно. Например, рассмотрим такой класс:

// Нельзя создавать экземпляр типа Т.
class Gen {
Т ob;
Gen () {
ob = new T(); // Недопустимо! ! !
}
}

Здесь выполняется недопустимая попытка создать экземпляр Т. Причину просто понять: поскольку Т не существует во время выполнения, как компилятор может узнать, какого типа объект следует создать? Вспомните, что очистка удаляет все параметры типа в процессе компиляции.