泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。就是一种不确定的数据类型
泛型的好处:
- 省略了强转的代码。
- 可以把运行时的问题提前到编译时期,提高 Java 程序的类型安全
- 编写的代码可以被不同类型的对象所重用,可以编写重用性更好的代码
泛型的使用方式:
泛型类 
`public class GenericClass{
private F mContent;
public GenericClass(F content){
mContent = content;
}
/*
泛型方法
*/
public F getContent(){
return mContent;
}
public void setContent(F content){
mcontent = content;
}
/*
泛型接口
*/
public interface GenericInterface<T>{
void doSomething(T t);
}
泛型的通配符
1.<?>无限制通配符
2.<? extends E> extends 关键字声明了类型的上界,表示参数化的类型可能是所指定的类型,或者是此类型的子类。
3.<? super E> super 关键字声明了类型的下界,表示参数化类型可能是指定类型,或者是此类型的父类