Array-Klasse eines generischen Typs ermitteln

Kommt man in die Situation, die Array-Klasse eines generischen Typen zu benötigen, kann dies mit folgendem Code erreicht werden:

       public <T extends Object> List<T> getForList(Class<?> c) {
             final T[] arr = (T[])Array.newInstance(c, 1);  
             Class<?> classArray = arr.getClass();
       ...

Dieser Funktion übergibt man die Klasse eines beliebigen Objektes (Parameter c). Die Variable classArray ist dann die Klasse des Objekt-Arrays.
Nehmen wir an es gibt ein Objekt Mitarbeiter, mit dem ich diese Klasse aufrufe:

List<Mitarbeiter> l = getForList(Mitarbeiter.class);

Die Variable classArray würde dann Mitarbeiter[].class entsprechen.