A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 敲程序的猿 中级黑马   /  2016-2-18 01:51  /  827 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这个程序怎么改?程序有错误,但是不会改,请学霸指教

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());  
   }
  }


2 个回复

倒序浏览
那是因为你Map map=new HashMap(); 没添加泛型,等于没规定键值对数据类型,Integer ,String你换成其他任意类照样能编译
回复 使用道具 举报
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());
                }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马