为什么在eclipse里这条语句会报错?Map m1 = new HashMap();
Type mismatch: cannot convert from HashMap to Map
本人新手,望高手不吝赐教3Q...

解决方案 »

  1.   

    没有错啊,是不是没有导入java.util.*;类库 啊。
      

  2.   

    把你import的hashmap和map类贴出来可能没import,或者import的package错了,也可能不是这个错误
      

  3.   

    晕怎么可能没导入包
    package com.contains;import java.util.*;public class Map {

    public static void main(String[] args) {
    Map m1 = new HashMap();
    Map m2 = new HashMap();
    m1.put("one", new Integer(1));
    m1.put("two", new Integer(2));
    m1.put("three",new Integer(3));
    m2.put("A", new Integer(1));
    m2.put("B", new Integer(2));

    System.out.println(m1.size());
    System.out.println(m1.containsKey("one"));
    System.out.println(m2.containsValue(new Integer(2)));

    if(m1.containsKey("two")) {
    int i = ((Integer)m1.get("two")).intValue();
    System.out.println(i);
    }

    Map m3 = new HashMap(m1);
    m3.putAll(m2);
    System.out.println(m3);
    }}
      

  4.   

    你自己的那个类名就是Map编译器当然认为程序里面声明的那个Map是你的类
      

  5.   

    package com.contains;import java.util.*;public class Map { public static void main(String[] args) {
    java.util.Map m1 = new HashMap();
    java.util.Map m2 = new HashMap();
    m1.put("one", new Integer(1));
    m1.put("two", new Integer(2));
    m1.put("three", new Integer(3));
    m2.put("A", new Integer(1));
    m2.put("B", new Integer(2)); System.out.println(m1.size());
    System.out.println(m1.containsKey("one"));
    System.out.println(m2.containsValue(new Integer(2))); if (m1.containsKey("two")) {
    int i = ((Integer) m1.get("two")).intValue();
    System.out.println(i);
    } java.util.Map m3 = new HashMap(m1);
    m3.putAll(m2);
    System.out.println(m3);
    }}