首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

泛型在实例化不指定门类有什么性能损耗之类的吗

2013-08-06 
泛型在实例化不指定类型有什么性能损耗之类的吗今天看到MyEclipse提示这样的警告觉得很好奇。ArrayList al

泛型在实例化不指定类型有什么性能损耗之类的吗
  今天看到MyEclipse提示这样的警告觉得很好奇。

  ArrayList al=...
  ArrayList<Student> al=...

  例如上面的两种方式,第一种有啥不好?
不用泛型的话,你ArrayList 中什么都可以装,当取出元素时,要进行向下转型,向下转型可不是安全的呀!
[解决办法]
首先,转型就比较消耗资源
其次,因为类型不明确,就会有运行时错误出现,例如classcastexception等,
对你自己并不是很有利,尤其是你这样的代码作为底层代码被封装给其他程序调用的时候,你给出的底层功能代码如果不可靠,上层代码也肯定不可靠
[解决办法]
使用泛型能让编译器检查增加的对象类型是否安全,还有取对象的时候不用再显式的强制转换了。
[解决办法]

引用:
使用泛型能让编译器检查增加的对象类型是否安全,还有取对象的时候不用再显式的强制转换了。

说的很好。
[解决办法]
没有损耗,只是在编译时进行检查而已。
[解决办法]
没有性能损耗,只是第二种,会在编译期帮你检查在list中操作的各个对象,是否为Student类型的。

热点排行