更新时间:2023年10月24日11时55分 来源:传智教育 浏览次数:
泛型是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。泛型能统一数据类型。把运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,在编译阶段类型就能确定下来数据类型。
那Java中怎样自定义泛型?定义泛型可以选在泛型类、泛型方法、和泛型接口这些地方,本节来对定义泛型的方法进行介绍,包含定义原理和定义方法。
定义类时同时定义了泛型的类就是泛型类。泛型类的格式:修饰符 class 类名<泛型变量>{ }
范例:public class MyArrayList<T> { }
泛型类的原理是把出现泛型变量的地方全部替换成传输的真实数据类型。其中的泛型变量T可以随便写为任意标识,常见的如E、T、K、V等。在编译阶段可以指定数据类型,类似于集合的作用。
定义方法时同时定义了泛型的方法就是泛型方法。泛型方法的格式:修饰符 <泛型变量> 方法返回值 方法名称(形参列表){}
范例: public <T> void show(T t) { }
泛型方法是把出现泛型变量的地方全部替换成传输的真实数据类型。泛型方法中可以使用泛型接收一切实际类型的参数,更具备通用性。
使用了泛型定义的接口就是泛型接口。泛型接口的格式:修饰符 interface 接口名称<泛型变量>{}
范例: public interface Data<E>{}
泛型接口可以让实现类选择当前功能需要操作的数据类型,实现类可以在实现接口的时候传入自己操作的数据类型,这样重写的方法都将是针对于该类型的操作。