泛型Class<T>和 T. <T>

private T product;

private Class<T> product; 

这两个有什么区别呢,查了资料才知道,单独的T 代表一个类型 而 Class<T>代表这个类型所对应的类

 pirvate  <T> T add(T a) {}:

<T>表示告诉编译器<>这个符号里面表示的是一个类型,后面出现的时候就不会报错了,单独的T代表任意一个类型。T字符不是固定的,也可以写成其他字符,只要前后对应一致就可以了,例如:

pirvate  <A> T add(A a) {}:

  

 Class<T>的用法:

public T find(Class<T> clazz, int id);
根据类来反射生成一个实例,而单独用T没法做到。

T jsonString= JSON.parseObject(String text, Class<T> clazz);
等于
Map jsonString = JSON.parseObject("[21,21,21]", Map.class);
把json字符串转成特定的对象
 第一句是demo,把类型也标注出来了,实际使用是下面这个
原文地址:https://www.cnblogs.com/toSeeMyDream/p/5686418.html