The Java Language Specification, sección 15.10, afirma:
An array creation expression creates an object that is a new array whose elements are of the type specified by the PrimitiveType or ClassOrInterfaceType. It is a compile-time error if the ClassOrInterfaceType does not denote a reifiable type (§4.7).
y
The rules above imply that the element type in an array creation expression cannot be a parameterized type, other than an unbounded wildcard.
Lo más cerca que se puede hacer es utilizar un elenco sin control, ya sea del tipo de crudo, como lo han hecho , o de un comodín sin límites:
HashMap<String, String>[] responseArray = (Map<String, String>[]) new HashMap<?,?>[games.size()];
su versión es claramente mejor :-)
Gracias. Lo hice funcionar usando una lista de mapas. No me gusta ignorar las advertencias. Según mi experiencia, si recibes una advertencia, tú lo haces. Lo único que no entiendo es por qué lo declaro como un tipo de mapa, pero cuando realmente lo instalo tengo que usar HashMap? Map responseMap; responseMap = new HashMap (); –
Joren
Es una interfaz. Un plan. Un contrato. Siga el enlace :) – BalusC
¿Por qué prefiere usar la Lista de mapas y luego un HashMap? Explique. – Daniel