¿Puedo llamar a .class en un tipo genérico en Java?

Me preguntaba si hay una manera en Java de hacer algo como

<code>Class c = List<String>.class;
Class c2 = List<Date>.class;
</code>

Necesito algo como esto para crear un mapa que almacene el nombre de la clase (con el tipo genérico) y el objeto correspondiente que luego puedo buscar. Por ejemplo,

<code>Map<Class, Object> dataMap = new HashMap<Class, Object>();
dataMap.put(c, listOfStrings);
dataMap.put(c2, listOfDates);
</code>

¿No es esto posible debido al borrado de tipo durante el tiempo de ejecución?

Respuestas a la pregunta(3)

Su respuesta a la pregunta