Sugerencias de tipo Java sobre llamadas a métodos genéricos
Me pregunto cuál es la forma correcta de llamar a un método estático con una firma como esta:
public static <T1, T2> Map<T1, Set<T2>> aggregate(List<Map<String, Object>> list,
String colK, String colV) {
...
}
Tuve la tentación de llamarlo así por alguna razón:
Map<String, Set<Integer>> map = aggregate<String, Integer>(lData, "id", "ref");
pero no se compiló a menos que lo cambie a:
Map<String, Set<Integer>> map = aggregate(lData, "id", "ref");
Me pregunto por qué no necesitaba las pistas en el lado derecho. Y en su lugar me dio un error de compilación. Dice que espera un punto y coma después de las pistas en el lado derecho. ¿Es el segundo una forma adecuada de llamar al método? ¿Podría alguien arrojar algo de luz por favor?