C# vs C++ (2)

Тем, что они не шаблоны C++.

Эти механизмы не совсем корректно сравнивать - они разные.

По сути, Java Generics - это просто синтаксис для type erasure (если ничего не поменялось за последние годы).