今天看到MyEclipse提示这样的警告觉得很好奇。  ArrayList al=...
  ArrayList<Student> al=...  例如上面的两种方式,第一种有啥不好?

解决方案 »

  1.   

    如果不指定 系统默认设置为object 直接转到基类 性能不会有啥损耗  但是如果你类里边否些自定义的方法 如果 那就会出错
      

  2.   


    不用泛型的话,你ArrayList 中什么都可以装,当取出元素时,要进行向下转型,向下转型可不是安全的呀!
      

  3.   

    首先,转型就比较消耗资源
    其次,因为类型不明确,就会有运行时错误出现,例如classcastexception等,
    对你自己并不是很有利,尤其是你这样的代码作为底层代码被封装给其他程序调用的时候,你给出的底层功能代码如果不可靠,上层代码也肯定不可靠
      

  4.   

    没有性能损耗,只是第二种,会在编译期帮你检查在list中操作的各个对象,是否为Student类型的。
      

  5.   

    恩恩,你说的很对。我今天测试了一下,List吧5.6W个实体类发现,速度上没什么区别。