关于java泛型

<T> 代表的是泛型 ,实例化的时候将传入真正的数据类型,比如:

public interface BaseProvider<T>{

public T test();

}

实例化的时候 BaseProvider<String> api = new BaseProviderImpl<String>();此时接口里面返回的类型就是String

Class<T>在实例化的时候,T要替换成具体类
Class<?>它是个通配泛型,?可以代表任何类型

<? extends T>受限统配,表示T的一个未知子类。
<? super T>下限统配,表示T的一个未知父类。

原文地址:https://www.cnblogs.com/lijiahong/p/6098363.html