1:什么是泛型?
泛型就是广泛的类型,也是一种数据类型,而这种数据类型可以是任意类型,编写过程中当中不能确定类型,创建对象时必须指定具体类型,不指定也可以,但是会出现一些错误。
泛型是编译器行为,只能在编译期有效,如果能够跨过编译器,那么泛型就没有任何意义了。
2、泛型类
怎么定义泛型类?
在类后面加<>,<>中可以编写任意长度任意字符,不能是数值。(一般用26个大写英文字母表示)
泛型类 <具体类型> 变量名 = new 泛型类<>()
3.怎么使用泛型
有以下几种使用场景以及放在那种位置
泛型只能定义引用数据类型,而不能使用基本数据类型
泛型类、泛型方法、泛型接口、泛型通配符
例如:作用在类上时( public class Animal <E>{ E pet} ) , 泛型跟在类后边,可以指定用了泛型的类内部的 pet 的类型。
作用在对象上时( Animal<Dog>str = new Animal<Dog>()) , 泛型跟在类后边 , 使得对象类的的 pet 属性为 Dog类型。
1、对于泛型方法来说,是可以接收不同类型的参数,比如下图,使用泛型来操作List集合,然后向List中添加一条数据,看是否可以添加成功,创建泛型方法如图所示。
2、然后在写一个main方法来测试一下这个泛型方法,先向集合中添加一条String类型的数据,打印List集合中的元素,如图所示。
3、上面是往List集合中添加了一个String类型的数据,下图往List集合中添加一条Integer类型的数据并打印,当然也可以自己创建对象进行添加。
4、泛型也是可以限制要使用的参数类型的,比如上面,list集合中,只想加入数字类型的数据,当然也是可以的,只要让类中的T继承Number就行了,如图所示。
5、下面在测试一下,向集合中添加一个Long类型的数据并打印,如图所示。
6、最后输出就完成了。