文章预览
在日常开发中,必不可少的会使用到泛型,这个过程中经常会出现类似“为什么这样会编译报错?”,“为什么这个列表无法添加元素?”的问题,也会出现感叹Java的泛型限制太多了很难用的情况。为了更好的使用泛型,就需要更深的了解它,因此本文主要介绍泛型诞生的前世今生,特性,以及著名PECS原则的由来。 泛型的诞生 ▐ 背景 在没有泛型之前,必须使用Object编写适用于多种类型的代码,想想就令人头疼,并且非常的不安全。同时由于数组的存在,设计者为了让其可以比较通用的进行处理,也让数组允许协变,这又为程序添加了一些天然的不安全因素。为了解决这些情况,Java的设计者终于在Java5中引入泛型,然而,正是因为引入泛型的时机较晚,为了兼容先前的代码,设计者也不得不做出一些限制,来让使用者(也就是我们)以难受
………………………………