我有一个HashMap,它不允许我在hashmap上使用getOrDefault方法。这是我的代码:
public static HashMap<String, Integer> getInputWords(String location) {
HashMap<String, Integer> wordCount = new HashMap<String, Integer>();
try {
FileReader fReader = new FileReader(location);
BufferedReader bFReader = new BufferedReader(fReader);
String line = bFReader.readLine();
while(line != null) {
String[] strs = line.split(" ");
for(String tmp : strs) {
wordCount.put(tmp.toLowerCase(), getOrDefault(tmp.toLowerCase(), Integer.valueOf(0)) + 1); //error on getOrDefault method.
}
line = bFReader.readLine();
}
bFReader.close();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return wordCount;
}
该方法给出了一个错误:
对于Main07
类型,方法getOrDefault(String,Integer)未定义
(Main07是我的班级)。
答案 0 :(得分:1)
getOrDefault()
是一种HashMap
方法,因此请在HashMap
上进行调用。
wordCount.getOrDefault(tmp.toLowerCase(), Integer.valueOf(0))