我怀疑您误解了Java泛型的工作方式。泛型的设计目标是不存在实例化多个类型的泛型类的运行时开销。换句话说,它实际上只是一个隐藏的类,参数化类型仅在编译阶段可用:在运行时,参数化类型消失。这就是所谓的擦除。看见
here
有关其工作原理的教程。
在您的情况下,这意味着在运行时(即反射正在运行时)根本不可能找到T的真实类型,因为运行时没有真实类型。它已被擦除。
在代码中,您将对象传递给具有实类型的方法,您可以使用反射来查找其类型。
请记住,使用反射几乎总是一种糟糕设计的迹象。有少数情况下是必要的(例如,对象序列化),但在绝大多数情况下,有更好的方法来实现结果。