新版的J2SE 5.0 Tiger引进数个在Java Community Process下发展与泛型(Generics)相关的几个新特色功能。我们先从一般性的观念开始进入主题,然后逐步地介绍泛型、相关流程控制的改进、搭配泛型的Collection…等。说明的重点在于了解先前我们所面临的问题,然后再讨论这几个新特色功能怎样着手处理,并且搭配一些范例程式码来使你熟悉它们的用法。
一开始我们先以「传值」的问题来作为说明的切入点。所有的程式语言,不管它是根据程序性的、物件基础的,或物件导向的设计典范,必然都必须面对传值的问题。传值的时候,也可以使用不同的设计方式。不过,这里我们并不在乎一个Java程式员应该自己要知道在传值时的各种特性,我们在乎的是「有个什么东西被传进、传出了」。
至于是什么东西?在Java中,原生型别(generic types)如int、double…等或任何的物件类别也都可以,如单一个元素,或含有多个元素的阵列…等,阵列可以是原生型别,也可以是任意类别的物件。所以基本上,可以任意地传递任何我们想要传递的「东西」。......