Class<T> 与T区别
转自 https://segmentfault.com/q/1010000002615805
Class 首先是个Class对象,描述的意思是构建T这个类型的模板,即获取这个类型的类,就是个类型
T 是个T对象,描述的意思是这个对象是T这个类型。
打个比方,T=人的时候,T a 表示的意思是:a=具体某个人,具体某个人可能是张三可能是李四……(好土); Class a表示的意思是:a=人类,这个种族。有点近似其他语言的type的意思。
什么地方使用呢:你只能提供这个type却没办法提供一个具体的实例的时候(你只能告诉卖家我要买苹果却不能拿一个苹果给他看告诉它我要买这个东西的时候)。网上常见的例子就是利用反射实例化1个T对象...etc.
在slf4j中 public static Logger getLogger(Class<?> clazz) 这个就是获取一个类,用生成这个类的log