获取泛型类型化名称的方法有两种:
例如,获取一个List<String>的泛型类型名称的示例代码如下:
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
public class Main {
public static void main(String[] args) {
Type genericType = Main.class.getGenericSuperclass();
if (genericType instanceof ParameterizedType) {
ParameterizedType parameterizedType = (ParameterizedType) genericType;
Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();
if (actualTypeArguments.length > 0) {
Type actualType = actualTypeArguments[0];
System.out.println(actualType.getTypeName());
}
}
}
}
输出结果为:java.lang.String
例如,获取一个List<String>的泛型类型名称的示例代码如下:
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class Main {
public static void main(String[] args) {
Type type = new TypeToken<List<String>>() {}.getType();
System.out.println(type.getTypeName());
}
}
输出结果为:java.util.List<java.lang.String>
以上是获取泛型类型化名称的两种方法。这些方法可以帮助开发人员在需要获取泛型类型信息的场景中进行处理。
领取专属 10元无门槛券
手把手带您无忧上云