基础泛型标识含义
在使用泛型标识后,在使用之前类型就被确定,不需要进行类型的强制转换了.
E ----- Element(元素 ,集合中使用)
T ----- Type(类型 ,类)
K ----- key(键)
V ----- Value(值)
N ----- Number(数值类型)
? ----- 不确定的java类型
T,Class<T>,Class<?>的区别
T是具体的类,是String,Integer等等
Class<T>在编译前确定具体的类
Class<?>是个通配泛型,?可以代表任何类型,主要用于声明时的限制情况
public static <T> T m(Class<T> cla){
}
<T> 和传入的参数 Class<T> cla对应,表示返回值是一个泛型,后面的T是表示返回值类型
<? extends T> 和 <? super T>
<? extends T> 表示类型的上界,参数类型是T或T的子类。
<? super T> 表示类型下界,参数类型是T或T的父类型。
如果频繁往外读取内容,适合用上界Extends
如果频繁插入内容,适合用下界super
网友评论