类型Map不带参数

时间:2018-02-08 20:32:42

标签: java hashmap

我正在尝试编写一个简单的程序,用于在哈希映射中添加键值对并遍历它们。 代码是: -

import java.util.*;
public class MapExample{
  public static void main(String[] args) {
       Map<Integer,String> map=new HashMap<Integer,String>();
         map.put(1,"Palla");
         map.put(2,"Durga");
         map.put(3,"Deepak");
         for(Map.Entry entry:map.entrySet())
            System.out.println("key is "+entry.getKey()+" "+"value is "+entry.getValue());
  }
}

当我编译这个程序时,它会抛出这个错误: -

MapExample.java:7: error: type Map does not take parameters
       Map<Integer,String> map=new HashMap<Integer,String>();
          ^

我通过修改

解决了这个问题
import java.util.*;

as

import java.util.Map;

现在这个错误消失了,但它再次抛出以下错误: -

MapExample.java:7: error: cannot access HashMap
       Map<Integer,String> map=new HashMap<Integer,String>();
                                   ^
  bad source file: .\HashMap.java
    file does not contain class HashMap
    Please remove or make sure it appears in the correct subdirectory of the sourcepath.

我理解错误并添加了

import java.util.HashMap;

现在完整的程序运行正常,我感觉很可疑 为什么

不能正常工作
import java.util.*;

除非我们需要明确声明导入语句Map和HashMap。

修正:

 MapExample.java:7: error: cannot access HashMap
           Map<Integer,String> map=new HashMap<Integer,String>();
                                       ^
      bad source file: .\HashMap.java
        file does not contain class HashMap
        Please remove or make sure it appears in the correct subdirectory of the sourcepath.

删除当前工作目录中的HashMap.java后,此错误得到修复。 但是这个错误

 MapExample.java:7: error: type Map does not take parameters
           Map<Integer,String> map=new HashMap<Integer,String>();
              ^

保持不变。

通过删除当前工作目录中的Map.java,修复了上述错误。所有错误都得到修复。

0 个答案:

没有答案