inicialización de Java HashMap?

Ahmednbil88:

Ya sé cómo inicializar Java HashMapmediante el uso de una de las 2 formas siguientes

// way 1: apply generic type saftey
HashMap<String, Integer> hashMap1 = new HashMap<String, Integer>();

// way 2: general without apply generic type saftey
HashMap<String, Integer> hashMap2 = new HashMap();

Mi problema
¿Cuál es la mejor práctica

De acuerdo con Eclipse Marcador

Tipo de seguridad: La expresión de tipo HashMap necesita conversión sin marcar para ajustarse a HashMap

introducir descripción de la imagen aquí Por lo que su recomienda el uso de

new HashMap<String, Integer>(); 

Pero de acuerdo con Sonar Linter

Reemplazar la especificación del tipo en esta llamada al constructor con el operador de diamante ( "<>").

introducir descripción de la imagen aquí Por lo que su recomienda el uso de

new HashMap();

¿Cuál es el mejor? ¿Por qué?

Anton Hlinisty:

Utilice el operador de diamantes de Java 7:

HashMap<String, Integer> hashMap2 = new HashMap<>();

Diamond <> permite al compilador tipos Deducir implícitamente

Ver: Inferencia de tipos genéricos de creación de instancias

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=233278&siteId=1
Recomendado
Clasificación