类型 HashMap 不带参数

Type HashMap does not take parameters

我正在关注 this video about HashMap in java. it has below code

// Create the HashMap
HashMap<String,String> hm = new HashMap<String, String>();

// Put data
hm.put("Katie", "Android, WordPress");
hm.put("Magda", "Facebook");
hm.put("Vanessa", "Tools");
hm.put("Ania", "Java");
hm.put("Ania", "JEE");    // !! Put another data under the same key, old value is overridden

// HashMap iteration
for (String key: hm.keySet())
    System.out.println(key+":"+hm.get(key));

所以我写了下面的代码,用它来练习HashMap(几乎相同的代码)

package hashmap;
import java.util.*;

public class HashMap {

    public static void main(String[] args) {

        HashMap<String,String> hm = new HashMap<String, String>();

        hm.put("Katie", "Android, WordPress");
        hm.put("Magda", "Facebook");
        hm.put("Vanessa", "Tools");
        hm.put("Ania", "Java");
        hm.put("Ania", "JEE");   

    }
}

但是 class 没有编译给出错误“Type HashMap does not take parameters” 所以我搜索了回答我 got this

其中一个答案说

Two possible mistakes:

You are using JDK 1.4

You imported something else than java.util.Map

所以我导入了 java.util.Map 但是 netbeans 给出了那个错误并说导入没有使用。然后我 java.util.*; 但结果是一样的。我不知道这是不是我的 IDE 错误的新手错误。

我的 jdk 1.8 和 windows 8.1

中的 Netbeans 8.0.2

您正在命名您的 class HashMap,它正在隐藏 java.util.HashMap。只需将其重命名为其他名称即可。

您的 public class HashMap 自定义 class 隐藏了 java.util.HashMap,并且您的自定义 HashMap 不是通用的,因此 new HashMap<String, String>() 对您的自定义 [=] 无效16=].

我建议不要使用与 HashMap 相同的 class 名称,因为它是 Java 中映射技术的一个实现并且还使用 Map.entry 接口作为每个循环中的对象。我希望下面的代码能帮助那些对 HashMap 有所了解的人。

import java.util.*;
public class QueQue {
public static void main(String[] args) {
    HashMap<String, Integer> hm = new HashMap<String, Integer>();
    hm.put("Peter", 10);
    hm.put("Nancy", 8);
    hm.put("Lily", 9);

    for (Map.Entry<String, Integer> x : hm.entrySet())//entrySet()=Returns a set of all the entries in the map as Map.Entry objects.
    {
        System.out.println(" The String Value in Hashmap is " + x.getKey());
      System.out.println(" The Integer Value in Hashmap is " +x.getValue());
    }
 }
      }

使用现有的JavaType,对于那些想要使用地图属性的人

{
    "existingJavaType": "java.util.Map<String, String>",
    "additionalProperties": {
        "type" : "string"
    }
}

我将我的文件命名为 HashMap,我将其更新为它解析的其他名称