編譯器會抱怨這樣的代碼:爲什麼Java編譯器不像HashMap中的值類型那樣使用基本int類型?
HashMap<String,int> userName2ind = new HashMap<String,int>();
for (int i=0; i<=players.length; i++) {
userName2ind.put(orderedUserNames[i],i+1);
}
它寫道:「意外型」和點上int
。如果我用String
和i+1
替換int
,i+"1"
,編譯就OK。這裏有什麼問題?
我i +「1」結束爲「01」爲i == 0; 「11」爲i == 1等? – extraneon 2010-03-24 15:28:13
是的。對於i == 0,i +「1」最終爲「01」,依此類推。 – Roman 2010-03-24 15:33:31
googling「java hashmap int」指向已經提出/解決此問題的許多引用。先研究你的問題。 – user2573153 2014-04-24 22:42:45