Java进阶——泛型

Java进阶——泛型

1、什么是泛型?
即在编译时期为了能够同一类型,方便类型检测而采取的一种方式。因为在一些时候,数据比较多,类型也很多,所以一不小心就会混乱,使得数据乱套,而我们的IDEA在编译时期就可以检测出当前类型是否统一。拿最简单的数组为例,都知道数组中只能存放同类型数据,但是如果我们的数组是Object类型的呢?你往进放元素时,不管放什么类型的元素,都不会产生错误,那么问题来了,如果数据很多,那你要随机访问时怎么知道数据到底是什么类型,要通过什么类型去接受呢?
所以泛型,油然而生。
2、泛型到底是什么样子?

public class Main<T>{
    
    
}

正如上面的代码,其实就是在原类型后加一个用<>括起来的大写字母(规定为大写,小写不影响),也可以是多个字母,用”,“隔开。这里的字母T就代表你这个类中存放的数据类型,int类型就传Integer,以此类推。即:

Main<Integer>x=new Main</*可写可不写*/>();

有人就问了,那我这里是T类型的呀,为什么传Integer也可以呢?这就是泛型的擦除机制了。
3、什么是泛型的擦除机制?
由于当程序运行起来,是不存在泛型这个概念的,所以在程序运行起来,T就会被擦除为Object类型,要知道Object类型是任何类型的父类,发生了向上转型,父类引用应用子类对象。所以不会报错。
4、总结
泛型就是在编译时期,为了保证数据类型的统一而采取的一种机制,如果传入数据的类型与要求的类型不匹配就会报类型不匹配的异常。例如,Integer类型,你传一个Double类型等等。

基本数据类型 封装类
int Integer
char Character
byte Byte
double Double
float Float
long Long
boolean Boolean

在java的路上坚持下去,加油!!!!!!!!!!

猜你喜欢

转载自blog.csdn.net/qq_45841205/article/details/113404549