黑马程序员技术交流社区

标题: 程序修改 [打印本页]

作者: 敲程序的猿    时间: 2016-2-18 01:51
标题: 程序修改
这个程序怎么改?程序有错误,但是不会改,请学霸指教

public static void main(String[] args) {
  
  Map map=new HashMap();  
  map.put("jessica",100);  
  map.put("tom",200);  
  map.put("den",300);  
  Set<Entry<String, Integer >> set = map.entrySet() ;  

//Set<Entry< Integer ,String>> set = map.entrySet() ;  
//为什么这一句反过来也可以编译通过

  for ( Entry per : set) {  
   System.out.println(per.getKey() + ":" + per.getValue());  
   }
  }



作者: j6819236    时间: 2016-2-18 09:56
那是因为你Map map=new HashMap(); 没添加泛型,等于没规定键值对数据类型,Integer ,String你换成其他任意类照样能编译
作者: tujiu888    时间: 2016-2-18 12:50
Map<String, Integer> map = new HashMap<String, Integer>();
//集合必须要加泛型,学习泛型之后一定要用上 已经工作的朋友给我讲过,不加泛型总是会再开发过程中给自己带来"惊喜"
                map.put("jessica", 100);
                map.put("tom", 200);
                map.put("den", 300);
                Set<Entry<String, Integer>> set = map.entrySet();
                //Set<Entry< Integer,String>> set = map.entrySet() ;
                // 为什么这一句反过来也可以编译通过

                for (Entry per : set) {
                        System.out.println(per.getKey() + ":" + per.getValue());
                }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2