> 时尚
容器类型有哪些(容器分为几类)
导语:泛型知识之七:容器的分类
从字面来看:< ? extends E >和< ? super E >,我们可以发现两个信息:
(1)子类和父类的信息。在我们的知识体系中,子类可以向上转型成父类,而父类不可以转换为子类。
(2)泛型的信息。在我们的知识体系中,泛型是使用在容器当中的,而在使用容器的过程中,基本操作就是存操作和取操作。
总之,< ? extends E >和< ? super E >这个概念提出的背景应该是:在使用容器的存取过程中,结合子类和父类相互转化的原则,把容器划分了类。
下面从容器归类的角度来看下面的代码。首先看的一类容器是< ? extends E >类型的容器。这类容器存的都是E的子类。接着看的一类容器是< ? super E >类型的容器。这类容器存的都是E的父类。总之,容器分为两类:
(1)以存操作为主的容器,在存的过程中,把子类转换为父类,容器里面存的是父类,所以使用< ? super E >类型的容器。
(2)以取操作为主的容器,在取的过程中,把子类转换为父类,容器里面存的都是子类,所以使用< ? extends E >类型的容器。
本内容属于《站在巨著之上谈泛型》系列内容的第七节。欢迎大家关注【Java人生】,后续会有更多技术内容分享给大家。
本文内容由快快网络小媛创作整理编辑!