Java的泛型始自2004年10月發(fā)布的JDK5桩卵。
JDK5之前可以這么寫(xiě):
List a = new ArrayList();
a.add(1);
a.add("Hello");
a.add(v);
總之可以往里添加各種類型的數(shù)據(jù)。
JDK5之后雖然有了泛型,可以在聲明時(shí)制定類型參數(shù)流炕,但是為了保證前向兼容稿湿,仍然允許上述代碼铅匹。
只是從JDK5開(kāi)始,在聲明時(shí)可以加入類型信息饺藤,如下:
List<String> a = new ArrayList<>();
a.add(1); // 編譯出錯(cuò)
a.add("Hello); // ok
a.add(v); // 編譯出錯(cuò)
由此也可見(jiàn)Java的泛型是在編譯時(shí)檢查類型的包斑。