原文:http://blog.csdn.net/jianghuxiaojin/article/details/51457773
泛型的应用:
可以理解为将类型指定为抽象类型(通俗点就是模糊指定类型,或者不指定类型),将来使用时再去指定想设置的类型。
泛型 T
例子
public class Generic<T> {
private T key;
public Generic(T key) {
this.key = key;
}
public Generic() {
}
public T getKey() {
return key;
}
}
实例化时
通配符
泛型和通配符的区别
泛型:
1.抽象指定类型,让开发者使用时更方便
2.优化、设计方面的作用
通配符:
指定类型范围,避免开发不知道该数据只支持的范围,设置错误类型导致出现bug
super : 指定类型必须是其父类 ,限制类型通配符下限
extends : 指定范围必须是其子类,限制类型通配符上限
在Java集合框架中,对于参数值是未知类型的容器类,只能读取其中元素,不能向其中添加元素, 因为,其类型是未知,所以编译器无法识别添加元素的类型和容器的类型是否兼容,唯一的例外是NULL