《数据结构与抽象:Java语言描述(原书第4版)》一JI1.1 泛型数据类型
本节书摘来华章计算机《数据结构与抽象:Java语言描述(原书第4版)》一书中的第1章 ,第1.1节,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. Henry) 着 罗得岛大学 新英格兰理工学院 辛运帏 饶一梅 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
JI1.1 泛型数据类型
泛型能让你在类或接口的定义中写一个占位符,而不是实际的类类型。占位符是泛型数据类型(generic data type),也可以简称为泛型(generic type)或类型参数(type parameter)。当定义一个其实例保存不同数据集合的类时,不需要给出这些集合中对象的具体数据类型。而是使用泛型数据类型替代实际的数据类型,定义一个泛型类(generic class),由客户选择集合中对象的数据类型。
如附录B所提到的,类Object是所有其他类的最终的祖先。给定指向任意类型对象的一个引用,可以将这个引用赋给Object类型的变量。虽然可能试图将Object用作泛型类,但不应该这样做。而是应该使用泛型数据类型来表示任意的类类型。
假定有对象数组A。如果A的数据类型声明为Object[],就可以将对象,比方说字符串,放到数组中。但是,没有办法阻止你将多个其他类的对象与字符串一起放到数组中。听上去这或许挺吸引人的,但使用这样的数组可能有问题。例如,如果从数组中删除一个对象,你不知道它的动态类型是什么。它是字符串还是某个其他类型的对象?不过,方法能获取对象的动态类型,所以这样的数组还是可以使用的。
相反,由泛型变量指向的项的数组或任何其他的组,可能仅含有因继承而相关的类的对象。所以,使用泛型,可以限制集合中项的类型。这个限制很正常,因为它使得这些集合易于使用。
最后更新:2017-06-26 16:02:24
上一篇:
沉寂 22 年 386BSD 系统更新:开源系统鼻祖
下一篇:
《数据结构与抽象:Java语言描述(原书第4版)》一练习
Java中IO流缓冲区的装饰模式的体现
五款高推荐度的协同办公软件
传统架构下的上云之路——来伊份上云历程分享
有关网络
java 代码生成器 快速开发平台 二次开发利器 springmvc SSM 后台框架源码
iOS开发那些事-故事板实现标签导航
Vmware Tools怎么安装
????????????????????????? ???????????????????????????????????????-??????-????????????-?????????
Linux问题情报分享(2):grub-install工具不能处理/dev/xvda*路径
阿里云意见领袖第三期榜单发布,居然没有我的名字?