Java Diamond Operator y Genéricos
El concepto de Java Diamond Operator llega a Java en la versión 7. Se le denomina operador
diamante por la forma que tiene el operador “<>” y permite simplificar el manejo de los
genéricos. Muchas veces nos olvidamos de usarla ya que estamos acostumbrados la sintaxis
básica y es difícil cambiar los hábitos. Vamos a ver un ejemplo sencillo de uso del operador
diamante. Supongamos que tenemos el siguiente código en Java.
CURSO SPRING BOOT
GRATIS
APUNTATE!!
package [Link];
import [Link];
import [Link];
public class Principal {
public static void main(String[] args) {
List&lt;String&gt; lista= new
ArrayList&lt;String&gt;();
[Link]("hola");
[Link]("adios");
[Link]([Link]::println);
[Link]
Java Diamond Operator y Genéricos
Todo funciona correctamente , ahora bien no era necesario especificar tanto. Nos es
suficiente con definir el tipo de dato en la referencia no hace falta ubicarlo en el
constructor.
package [Link];
import [Link];
import [Link];
public class Principal {
public static void main(String[] args) {
List&lt;String&gt; lista= new
ArrayList&lt;&gt;();
[Link]("hola");
[Link]("adios");
[Link]([Link]::println);
De esta forma conseguimos simplificar el manejo de genericos. En un primer lugar nos
parece que la ganancia es poca.
[Link]
Java Diamond Operator y Genéricos
Java Diamond Operator
Sin embargo usar java diamond operator puede simplificar la construcción de tipos
genéricos mucho mas complejos como por ejemplo:
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class Principal2 {
public static void main(String[] args) {
List&lt;Map&lt;String, String&gt;&gt;
lista= new
ArrayList&lt;Map&lt;String,String&gt;&gt;();
Map&lt;String,String&gt; mapa= new
HashMap&lt;String,String&gt;();
[Link]("clave1", "valor1");
[Link](mapa);
[Link]([Link]::println);
[Link]
Java Diamond Operator y Genéricos
En este caso tenemos una lista que incluye un mapa y todo esta lleno de anotaciones
genéricas. En este ejemplo el operador diamante nos puede ayudar bastante.
Veámoslo en código;
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class Principal3 {
public static void main(String[] args) {
List&lt;Map&lt;String, String&gt;&gt;
lista= new ArrayList&lt;&gt;();
Map&lt;String,String&gt; mapa= new
[Link]
Java Diamond Operator y Genéricos
HashMap&lt;&gt;();
[Link]("clave1", "valor1");
[Link](mapa);
[Link]([Link]::println);
Acostumbremonos a usar más Java Diamond Operator para clarificar las estructura de
genéricos que utilizamos en nuestro código.
CURSO SPRING BOOT
GRATIS
APUNTATE!!
Otros artículos relacionados
1. Utilizando Java Custom Generics
2. Java Generic Methods
3. Java Generic Repository y JPA
[Link]