Array de un tipo genérico.

En Java 5 (desconozco lo que pasa en Java 6, aún no está en Mac, por desgracia) no se pueden instanciar arrays de un tipo genérico, para ello hay que recurrir a un pequeño truco de casting. Suponiendo que la clase es, por ejemplo, Pila<T> la línea de código para declarar un array llamado stack de capacidad n es:

T[] stack = (T[]) new Object[n];

Saldrá un warning “Type safety: Unchecked cast from Object[] to T[]”, pero no hay nada de que preocuparse.

Fuente.