本文介绍: 使用泛型编程,会在使用或者调用时传入具体的类型时才确定最终的数据类型,所以集合需要存储什么类型的数据,在创建集合时传入对应的类型即可。定义泛型时类型形参由一对尖括号()包含在中间,使用或者调用泛型时,需要将类型实参写在尖括号()之间。JDK 5之后的类库中很多重要的类和接口都引入了泛型,例如集合体系中的类和接口。下面分别演示未引入泛型和使用泛型编程的区别,体验泛型具体有什么好处。(1)未引入泛型前@Test// 创建一个只保存Integer类型的List集合。
通过之前的学习,读者可以了解到,把一个对象存入集合后,再次取出该对象时,该对象的编译类型就变成了Object类型(尽管其在运行时类型没有改变)。集合设计成这样,提高了它的通用性,但是也带来了一些类型不安全和繁琐的问题,例如,集合可以同时存储任何类型的对象,通常对取出之后的对象都需要强制类型转换,而且如果不知道实际参数类型的情况,也无法进行强制类型转换。为了解决这些问题,从JDK 5版本开始引入了泛型,本章将围绕泛型的相关内容进行讲解。
1. 泛型基础
1.1. 泛型的概念
泛型是在JDK 5中引入的一个新特性,其本质是参数化类型,也就是将具体的类型形参化,参数化的类型(可以称之为类型形参)在使用或者调用时传入具体的类型(类型实参),类似于调用方法时传入实参才确定方法形参的具体值。泛型的声明由一对尖括号和类型形参组成,类型形参定义在尖括号中间,定义类、接口和方法时使用泛型声明,定义出的类、接口和方法分别称为泛型类、泛型接口和泛型方法。
1.2. 泛型的定义
使用泛型编程,会在使用或者调用时传入具体的类型时才确定最终的数据类型,所以集合需要存储什么类型的数据,在创建集合时传入对应的类型即可。
定义泛型时类型形参由一对尖括号(<>)包含在中间,使用或者调用泛型时,需要将类型实参写在尖括号(<>)之间。
JDK 5之后的类库中很多重要的类和接口都引入了泛型,例如集合体系中的类和接口。下面分别演示未引入泛型和使用泛型编程的区别,体验泛型具体有什么好处。
(1)未引入泛型前
1.3. 泛型的好处
2. 泛型类
2.1. 泛型类的语法格式
2.2. 泛型类的定义与创建
2.3. 泛型类的练习
3. 泛型接口
3.1. 泛型接口的语法格式
3.2. 泛型接口的应用
4. 泛型方法
4.1. 泛型方法的语法格式
4.2. 泛型方法的应用
4.3. 泛型方法的练习
5. 类型通配符
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。