El compilador se queja de este código:¿Por qué el compilador Java no le gusta primitive int como tipo para los valores en HashMap?
HashMap<String,int> userName2ind = new HashMap<String,int>();
for (int i=0; i<=players.length; i++) {
userName2ind.put(orderedUserNames[i],i+1);
}
escribe "tipo inesperada" y el punto en int
. Si reemplazo int
por String
y i+1
por i+"1"
, la compilación va bien. ¿Qué pasa con aquí?
No i + "1" termina siendo "01" para i == 0; "11" para i == 1 etc. – extraneon
Sí. i + "1" termina siendo "01" para i == 0 y así sucesivamente. – Roman
googlear "java hashmap int" apunta a muchas referencias que ya han pedido/resuelto este problema. Investigue su pregunta primero. – user2573153