Pregunta

¿Se puede utilizar un inicializador ejemplo, con un HashMap genérico?

He encontrado este código en línea, pero estoy teniendo problemas para convertirlo en un HashMap genérico en lugar de un HashMap básica:

someMethodThatTakesAHashMap(new HashMap(){{put("a","value-a"); put("c","value-c");}}); 
¿Fue útil?

Solución

Así es como:

class Foo {

  static void someMethodThatTakesAHashMap(HashMap<String, String> map) {
    System.out.println(map);  
  }

  public static void main(String[] args) {
    someMethodThatTakesAHashMap(new HashMap<String, String>(){{put("a","value-a"); put("c","value-c");}});
  }
}

Editar: acerca de la supresión de la serie Id: Sí, se puede hacer eso, pero me gustaría volver a escribir así:

public class Foo {

  static void someMethodThatTakesAHashMap(Map<String, String> map) {
    System.out.println(map);  
  }

  public static void main(String[] args) {
    HashMap<String, String> map  = new HashMap<String, String>();
    map.put("a","value-a"); 
    map.put("c","value-c");
    someMethodThatTakesAHashMap(map);
  }
}

No se necesita de supresión, y mucho mejor que leer, la OMI.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top