討論來自stackoverflow
詳細解釋大家看原文,只翻譯結論
Java代碼裏出現的尖括弧看上去很像C++的template,但其實正式名字叫generics,它不像C++模板(一個加強版的C宏預處理器),而是一個避免 強制類型轉換 的語法糖
舉個例子
public class PhoneNumbers {
private Map phoneNumbers = new HashMap();
public String getPhoneNumber(String name) {
return (String)phoneNumbers.get(name);//強制類型轉換
}
...
}
----引入generics後------
public class PhoneNumbers {
private Map<String, String> phoneNumbers = new HashMap<String, String>();
public String getPhoneNumber(String name) {
return phoneNumbers.get(name);//沒有強制類型轉換
}
...
}