无法在正确的泛型类型中使用正确的值

时间:2015-11-06 04:12:50

标签: java

我有一个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是我的班级)。

1 个答案:

答案 0 :(得分:1)

getOrDefault()是一种HashMap方法,因此请在HashMap上进行调用。

wordCount.getOrDefault(tmp.toLowerCase(), Integer.valueOf(0))