为什么Java编译器不喜欢原始int作为HashMap中值的类型?
编译器抱怨以下代码:
HashMap<String,int> userName2ind = new HashMap<String,int>();
for (int i=0; i<=players.length; i++) {
userName2ind.put(orderedUserNames[i],i+1);
}
它写入“意外类型”并指向 。如果我用 和 by 替换,编译就正常了。这里有什么问题?int
int
String
i+1
i+"1"