Genéricos

Como hemos mencionado una colección almacena todos sus elementos como Object, por lo cual a la hora de recuperar dichos elementos debemos efectuar el casting apropiado.

Utilizar un tipo genérico a la hora de crear la colección nos permite:

  • Eliminar la necesidad de casting
  • Controlar en tiempo de compilación que todos los elementos son del tipo genérico.

Veamos un ejemplo: Creamos una colección y definimos como tipo genérico String, esto nos permite controlar que todos los elementos introducidos en la colección son de tipo String. Si no fuese así e intentásemos introducir instancias de otro tipo se produciría un error de compilación.

Como observamos en el bucle for-each ahora recuperamos todos los elementos como String y no como Object en el caso de no utilizar genéricos.

Aquí tenemos otro ejemplo de cómo utilizar genéricos con mapas.

La siguiente tabla recoge como utilizar los tipos genéricos: