是否有Class.isAssignableFrom替代Type对象?

Ada*_*ter 7 java reflection

在Java中,Class有一个定义如下的isAssignableFrom方法:

public boolean isAssignableFrom(Class<?> cls)
Run Code Online (Sandbox Code Playgroud)

确定此Class对象表示的类或接口是否与指定Class参数表示的类或接口相同,或者是它们的超类或超接口.它返回,true如果是这样; 否则它会返回false.如果此Class对象表示基本类型,则此方法返回true指定Class参数是否恰好是此Class对象; 否则它会返回false.

具体来说,此方法测试是否Class可以Class通过标识转换或扩展引用转换将指定参数表示的类型转换为此对象表示的类型.有关详细信息,请参阅Java语言规范,第5.1.1和5.1.4节.

参数:

cls- Class要检查的对象

返回:

boolean值指示是否类型的对象cls可被分配给这个类的对象

Class实现Type接口.有没有一种等效的isAssignableFrom方法适用于Types而不仅仅是Classes?例如,是否有一种方法可以确定类型的变量List<String>(可以通过实例表示ParameterizedType)是否可以分配给类型的变量List<? extends Object>

pho*_*ser 2

看看javaRuntype ——我发现它很有用。它可以从 的实例生成类型的表示java.lang.reflect.Type,并测试它们之间的可分配性。