您的位置 首页 java

泛型知识之七:容器的分类

从字面来看:< ? extends E >和< ? super E >,我们可以发现两个信息:

(1)子类和父类的信息。在我们的知识体系中,子类可以向上转型成父类,而父类不可以转换为子类。

(2)泛型的信息。在我们的知识体系中,泛型是使用在容器当中的,而在使用容器的过程中,基本操作就是存操作和取操作。

总之,< ? extends E >和< ? super E >这个概念提出的背景应该是:在使用容器的存取过程中,结合子类和父类相互转化的原则,把容器划分了类。

下面从容器归类的角度来看下面的代码。首先看的一类容器是< ? extends E >类型的容器。这类容器存的都是E的子类。 接着看的一类容器是< ? super E >类型的容器。这类容器存的都是E的父类。

总之,容器分为两类:

(1)以存操作为主的容器,在存的过程中,把子类转换为父类,容器里面存的是父类,所以使用< ? super E >类型的容器。

(2)以取操作为主的容器,在取的过程中,把子类转换为父类,容器里面存的都是子类,所以使用< ? extends E >类型的容器。

本内容属于《站在巨著之上谈泛型》系列内容的第七节。欢迎大家关注【Java人生】,后续会有更多技术内容分享给大家。

文章来源:智云一二三科技

文章标题:泛型知识之七:容器的分类

文章地址:https://www.zhihuclub.com/170693.shtml

关于作者: 智云科技

热门文章

网站地图