E 稱為類型變量.意味著一個變量將被一個類型替代.替代類型變量的值將被當(dāng)作參數(shù)或返回類型.對于List接口來說,當(dāng)一個實例被創(chuàng)建以后,E 將被當(dāng)作一個add或別的函數(shù)的參數(shù).E 也會使get或別的參數(shù)的返回值.下面是add和get的定義:
package com.brainysoftware.jdk5.app16;import java.util.List;import java.util.ArrayList;public class GenericListTest { public static void main(String[] args) { // in JDK 1.4 List stringList1 = new ArrayList(); stringList1.add("Java 1.0 - 5.0"); stringList1.add("without generics"); // cast to java.lang.String String s1 = (String) stringList1.get(0); System.out.println(s1.toUpperCase()); // now with generics in JDK 5 List<String> stringList2 = new ArrayList<String>(); stringList2.add("Java 5.0"); stringList2.add("with generics"); // no need for type casting String s2 = stringList2.get(0); System.out.PRintln(s2.toUpperCase()); }}