import java.util.*;public class TestMap {
public static void main(String[] args) {
Map p1=new HashMap();
Map p2=new HashMap();
p1.put("one","1");
p1.put("two","2");
p1.put("three","3");
p2.put("A","1");
p2.put("B","2");
p2.put("C","3");
System.out.println(p1.size());
System.out.println(p1.containsKey("one"));
  System.out.println(p1.containsValue(1));//这句语句执行为什么是false;
//为什么不执行if语句
              if(p1.containsValue(2)) {
                    System.out.println("if语句执行");
    int i=(Integer)p2.get("B");
    System.out.println(i);
}
   Map p3=new HashMap(p1);
   p3.putAll(p2);
   System.out.println(p3);
}
}

解决方案 »

  1.   

    我怎么觉得这么程序这么多错误啊。你能编译过?
    p1.containsValue("1"); 
      int i=(Integer)p2.get("B"); 这个也不对吧。自己看看吧。
      

  2.   

    p1.containsValue(1)为false,因为Map把1,2,3都当作String类型来处理了,
    所以p1.containsValue("1")才是true,同理if()条件是false的,所以不执行了!
    说的不好不要取笑!