类型 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,我将其更新为它解析的其他名称
我正在关注 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,我将其更新为它解析的其他名称