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.

Author: Serabe

Mathematician, and Ruby and JavaScript programmer. Sometimes I speak at conferences and local meetups.

2 thoughts on “Array de un tipo genérico.”

  1. Buenas! Pues tu comentario me ha servido para confirmar la hipotesis que tenia. Era justamente lo que buscaba. Ahora bien, resuelto ese problema, ¿En Java 6 habran solucionado ese problema y se podran crear ya arrays genericos?

    de momento, T[] stack = new T [n]; sigue sin gustarle al compilador (y eso que tengo java v. 1.6.0_04.). Ya veremos si lo arreglan o que.

    Saludos a la comunidad y a ti por el comentario.

  2. Gracias por la aportación. Nos ha sacado de un apuro en un ejercicio de clase 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *