检查类是否为通用类型

问题描述 投票:2回答:1

也许这不是一个大问题,但我无法弄清楚。有没有一种方法可以检查是否将类定义为泛型类型。我不想定义此类的实例,我只是想以某种方式知道该类是定义为普通类还是泛型类型类。

这将是第一个类,属于通用类型

public class MyGenericClass<T, G> {

    public void someMethod(T firstParam, G secondParam){
        // do something
    }
}

这将是第二个和正常的类

public class AnotherClass {

   public void someMethod(){
       // do something
   }
}

我想要一种方法来找出这个结果

isGenericType(MyGenericClass.class) --> true
isGenericType(AnotherClass.class) --> false
java generics reflection
1个回答
1
投票

Class<?> object中可以检查cls.getTypeParameters()

从通用类中获得cls.getTypeParameters()的非空数组。

从非泛型类获得一个空数组。

例如

TypeVariable
java.util.List.class.getTypeParameters()
TypeVariable[1] { E }
© www.soinside.com 2019 - 2024. All rights reserved.