有这样的一段代码:
List<Map> list1 = null;
List<Map<String, String>> list2 = null;
list1 = (List<Map>)list2;在eclipse3.3.2是可以编译通过的,但是有警告:
Multiple ers at this line
- Map is a raw type. References to generic type Map<K,V> should be parameterized
- Type safety: Unchecked cast from List<Map<String,String>> to List<Map>但是这段代码在eclipse3.4.2和eclipse3.5.2是不能通过编译的,错误信息是:
Cannot cast from List<Map<String,String>> to List<Map>我的项目之前是使用myeclipse6.5(eclipse3.3.2)开发的,后来想用flashBuilder4(eclipse3.4.2)打开这个项目,但是里面有些类似上面的代码在eclipse3.4.2里面无法通过编译,现在不知道怎么办,请大侠指点迷津

解决方案 »

  1.   

    完全是设置问题。window->preferences->java->compiler->errors/warnings设置看看。
      

  2.   

    是否指向的是同一个版本的JDK
      

  3.   

     同楼上,查看JDK版本是否正确了!
      

  4.   

    jdk使用的都是在windows----preferences----java----Compiler里面设的1.6; 
    更准确一点的eclipse3.3使用的是6.0(其实就是1.6),eclipse3.4使用的是1.6 
      

  5.   


    不行,所有的选项都设置成"Ignore"还是不行
      

  6.   

    只能说eclipse3.3编译时可能有自己的一套编译,所以能成功。 
    最终通用的验证手段,个人觉得还得依赖于jdk的命令行。 List<Map> list1 = null; 
    List<Map<String, String>> list2 = null; 
    list1 = (List<Map>)list2; 其实,你将第三行改改,就能都编译了 
    list1 = (List<Map>)(Object)list2;
    ------------------------
    上面是一个大侠给我提供的思路,我采用了