Nuevo en Java 7, Diamantes

Dec 23

Desde la llegada de los Generics en el año 2004 con la versión 5 de Java, utilizar las colecciones ha evitado la conversión de tipos tan utilizada en versiones anteriores, pero la declaracion de estas mismas colecciones parece redundante, ejemplo :

ArrayList<String> lista = new ArrayList<String>();
TreeMap<String,ArrayList<String>>  tabla = new TreeMap<String,ArrayList<String>>();

En el ejemplo anterior estamos declarando una lista de cadenas y en el segundo un mapa que contiene una llave cadena y que mapea a una lista de cadenas.  El uso de Generics siempre ha creado construcciones del lenguaje muy extrañas, a veces poco entendibles para los que apenas comienzan con la programación en Java.

La versión 7 del lenguaje de programación Java no mejora la declaración de instancias usando generics si no que evita duplicar de nuevo la definición del tipo al utilizar el diamante "<>" para especificar que se infieren los tipos utilizados en la declaración :

ArrayList<String> lista = new ArrayList<>();
 TreeMap<String,ArrayList<String>>  tabla = new TreeMap<>();

De esta forma se evita repetir la declaración de los tipos de nuevo, esta inferencia tambien se presenta de otras formas pero esta es la mas usual.

Enlaces :

No hay entradas relacionadas.

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>