建立泛型物件時需提供具體類別取代類型參數 T(J2SE 5.0 不支援基本型別作為類型參數):
// 整數列表
GenList<Integer> integerList = new GenList<Integer>();
// 字串列表
GenList<String> strList = new GenList<String>();
// 錯誤:基本型別不可作為類型參數
GenList<int> nList = new GenList<int>(); // 編譯錯誤
使用泛型實現的列表具備編譯期型別檢查,破壞型別安全的程式碼會在編譯時報錯。Eclipse 3.1 將錯誤標記顯示於編輯器中,滑鼠懸停即可查看提示。

GenMap 宣告兩個類型參數 T、V,建立物件時需提供兩個具體類別:
GenMap<Integer, String> gm = new GenMap<Integer, String>();
GenMap<String, String> gm2 = new GenMap<String, String>();
雖 T、V 看似不同,但使用時可能被替換為同一類型,導致方法簽名衝突:
public class GenMap<T, V> {
// 編譯錯誤:二義性錯誤
public void set(T t) {}
public void set(V v) {}
}
正確做法是使用不同方法名稱:
public class GenMap<T, V> {
public void setKey(T t) {}
public void setValue(V v) {}
}
