2022Java学习笔记六十四(泛型的深入、自定义泛型、泛型通配符、上下限)
一、泛型概念
- 泛型:是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查
- 泛型的格式:<数据泛型> 注意:泛型只能支持引用数据类型
- 集合体系的全部接口和实现类都是支持泛型的使用的
二、泛型的好处:
三、自定义泛型类
格式:
public class MyArrayList<T>{}
泛型变量T可以随便写任意的标识符
作用:编译阶段可以指定数据类型,类似与集合的作用
泛型的核心思想:
泛型类的作用:
泛型类里面可以创建其他的对象来使用
四、定义泛型方法
public <T> void show(T t){}
方法中可以使用泛型接收一切实际类型的参数,方法更具备通用性
示例代码
package com.zcl.genericty_class;
public class Demo {
public static void main(String[] args) {
// 泛型方法的定义
// 1、定义一个数组
String[] str = {"454","dasd1","张三"};
printArray(str); // [454,dasd1,张三]
Integer[] ages = {1,2,35,4,8};
printArray(ages); // [1,2,35,4,8]
}
public static <T> void printArray(T[] arr){
if(arr != null){
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]).append(i== arr.length-1?"":",");
}
sb.append("]");
System.out.println(sb);
}else {
System.out.println(arr);
}
}
}
五、自定义泛型接口
public interface student<T>{}
作用:泛型接口可以让实现类选择当前功能需要操作的数据类型
六、泛型通配符:?
?可以在“使用泛型”的时候代表一切类型
泛型的上下限: