站在巨著之上谈泛型(转载)
本系列内容,立足于两本巨著:《Thinking in Java》(第四版)和《Effective Java》(第二版)。本系列内容出自这两本巨著,但是从另外一个角度阐释了泛型系统内容,你会收获一些不一样的知识体会。本系列内容包括以下八节:
第一节:《泛型的起源》,只有理解了泛型的产生背景和产生的原因,了解了泛型为解决什么问题而出现,你才能体会到它的作用。
第二节:《泛型的用武之处》,这一节内容是上一节内容的延伸,重点提出了“容器”这个概念。为下文埋下了伏笔。
第三节:《泛型的语法标示》,这一节重点讲述泛型的语法标示,包括:<T>,T,<?>等,你觉得你能理解它,no,我不信,我觉得没有足够的时间去研究它们,你的理解仅仅停留在很表层上面。
第四节:《泛型的种类》,泛型有很多种,类泛型,接口泛型,方法泛型,这一节的内容,你只要认真的读过《Thinking in Java》,我相信你不会陌生。
第五节:《<?>和<Object>的区别》,这一节的内容,是让你换换脑筋,让你从另外一个角度去理解泛型,同时也对上面几节的内容进行了升华。
第六节:《协变和逆变》,本节的内容会有一定的争议,但是学习泛型你必须要明白这两个概念:协变和逆变。
第七节:《< ? extends E >和< ? super E > 背后的思想:容器的分类》,这部分内容感觉《Thinking in Java》讲解的并不好,而《Effective Java》讲解的有学术化,而本节的内容会让你耳目一新,并且深刻的理解了泛型的伟大。
第八节:《泛型实例化》,这部分内容不多,但是也应该理解和掌握。作为一种类型,无论是具体的还是参数化的,都应该能够实例化,这就是本节内容所要讲的。
本文来源于:站在巨著之上谈泛型