泛型总结篇:
1)泛型参数只能是类类型
例如:List<int> // 报错
List<Integer> // 正确
2)泛型的类型参数可以有多个!
例如:List<Integer,String,Boolean> list = new
ArrayList<Integer,String,Boolean>();
3)泛型的参数类型可以使用extends,习惯称“有界类型”,
例如:List<student extends person>,person为list的上界
4)泛型可以使用通配符类型!“?” 相当于“Object”类型,(注意不可逆) 例如:List<?> //定义成这样可以添加Object类型到List里面去 List<Object>; //定义成这样不可以添加String类型到List里面去 List<? extends Object>; // 这样就可以互等了!这样还可以设定泛型的上限
5)带泛型的类,构造方法写法不变,其后不可以加泛型!
例如:class Student<T>{
public Student<T>(){} // 构造方法这样写就错了
}
6)List<String> 不是 List<Object> 的子类!,不可以把前者看成后者的子类,所以不
可以把前者的实例赋给后者
例如: List<String> Slist = new ArrayList<String>();
Slist.add(new String("abc"));
List<Object> Olist = new ArrayList<Object>();
…… …… 余下全文