Компилятор жалуется на этот код:
HashMap<String,int> userName2ind = new HashMap<String,int>();
for (int i=0; i<=players.length; i++) {
userName2ind.put(orderedUserNames[i],i+1);
}
Это пишет "неожиданный тип" и точку на int
. Если я заменяю int
String
и i+1
i+"1"
, компиляция идет хорошо. Что не так с в здесь?
Это нормально с Integer
, но не подходит с int
- Дженерики Java работают только со ссылкой типы , в основном: (
Попробуйте это - хотя имейте в виду, что он закроет все:
HashMap<String,Integer> userName2ind = new HashMap<String,Integer>();
for (int i=0; i<=players.length; i++) {
userName2ind.put(orderedUserNames[i],i+1);
}