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.