有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类。
1.什么是泛型
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法
2.为什么要用泛型
编码的时候,不加泛型是可以的,但是 你从容器中拿出来的时候必须强制类型转换,第一是多敲很多代码,第二极容易发生类型转换错误
有泛型就可以将错误前置到编译期
3.泛型可以怎么用
应用场景小例子1
现在需要有一个类,存放两个String类型属性,代码如下
现在我又想要一个类,可以存放两个属性,一个String,一个Integer,OK,我直接改成Object,来啥都不怕
但是这么做每次取出来的都是Object,需要强转回自己传入的类型,如果转错了就会报类转换异常,所以还得记住自己传入了什么类型的元素,比较麻烦,用泛型就可以约定每次传入的类型,取出也不需要强转,
来看一下调用
在JAVA的虚拟机中并不存在泛型,泛型只是为了完善java体系,增加程序员编程的便捷性以及安全性而创建的一种机制
3.1声明带边界的泛型
3.2泛型方法
4.总结
虚拟机中没有泛型,只有普通类和普通方法
所有泛型类的类型参数在编译时都会被擦除
创建泛型对象时请指明类型,让编译器尽早的做参数检查