博为峰Java技术题 ——JavaSE 泛型Ⅰ

博为峰小博老师:java

[泛型初探]安全

在泛型出现以前,是这么写代码的:优化

固然这是彻底容许的,由于List里面的内容是Object类型的,天然任何对象类型均可以放入、均可以取出,可是这么写会有两个问题:3d

一、当一个对象放入集合时,集合不会记住此对象的类型,当再次从集合中取出此对象时,该对象的编译类型变成了Objectcode

二、运行时须要人为地强制转换类型到具体目标,实际的程序毫不会这么简单,一个不当心就会出现java.lang.ClassCastException,即类型转换异常对象

因此,泛型出现以后,上面的代码就改为了你们都熟知的写法:blog

这就是泛型。泛型是对Java语言类型系统的一种扩展,有点相似于C++的模板,能够把类型参数看做是使用参数化类型时指定的类型的一个占位符。引入泛型,是对Java语言一个较大的功能加强,带来了不少的好处:ip

一、类型安全。类型错误如今在编译期间就被捕获到了,而不是在运行时看成java.lang.ClassCastException展现出来,将类型检查从运行时挪到编译时有助于开发者更容易找到错误,并提升程序的可靠性开发

二、消除了代码中许多的强制类型转换,加强了代码的可读性get

三、为较大的优化带来了可能

相关文章
相关标签/搜索