讨论来自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);//没有强制类型转换
}
...
}