引言:
泛型与集合以及数组都是同父异母的亲兄弟,泛型是结合了集合以及数组优点的小弟,下面就看看泛型那些事。
概述:
泛型是程序设计的一种特性,将类型参数化以达到代码复用提高软件开发工作效率的一种特殊数据类型,泛型是引用类型,是堆对象。泛型的参数只代表类,不代表个别对象,也可以说代表对象的集合,这是更高等的抽象。
内容:
1 目的:
(1)加强类型安全;(2)减少类转换的次数
2 好处:
(1)性能提高:不用强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换;
(2)安全性提高:通过泛型变量的类型限制,编译器可以在高程度上验证类型假设;
(3)提高代码重用性:允许程序员讲一个实际的数据类型的规约延迟至泛型的实例创建时才确定,提高代码重用性,提高开发效率。
3 使用:
泛型通常用于集合以及作用于集合的方法一起使用。泛型主要包括泛型类和泛型方法俩种使用方法。
(1)泛型类:定义一个泛型类,操作数据过程中,直接引用这个泛型类,通过操作泛型类就能达到操作目标实体类的目的。泛型类和实体类之间通过接口(参数约束进行交互)。
语法:public class 泛型类名 <T>where T: 接口(参数约束);
实例化:泛型类名<实体类名> 泛型类实例 = new 泛型类名 <实体类名>(); 例如:classA<Entity> C = new classA<Entity>();
(2)泛型方法:通过调用一个泛型方法 ,实现对目标实体类的操作。
语法:public void 泛型方法名<T>(t[] array) where T:接口(参数约束);
实例化:先实例化一个要操作的类:Entity entity = new Entity(); 接着使用泛型方法:entity.Function(泛型方法名)<实体类>(array);
(3)区别:使用泛型类,每次操作的都是整个类,局限在于如果操作类中的几个对象,那么使用泛型类,所有对象都会被操作;使用泛型方法就相对灵活,操作那个类(或者对象),实例化哪一个,然后通过调用泛型方法来进行操作。
小结:
泛型的应用使得代码复用率、代码安全性以及健壮性都得到了提高。但是泛型的使用不能局限如此,还应该扩展眼界,发现新大陆;同时还需要注意泛型与集合以及数组的区别与联系。小编将会在下一篇博客总结集合、泛型与数组三者之间交织。