Java 以字符串形式从类名中获取Gson TypeToken

Java 以字符串形式从类名中获取Gson TypeToken,java,reflection,gson,typetoken,Java,Reflection,Gson,Typetoken,我想做类似的事情-使用Gson反序列化泛型类型的类。下面的代码就像一个符咒 Type type = new TypeToken<ActionTask<UptimeAction>>() {}.getType(); ActionTask task = (ActionTask) gson.fromJson(json, type); 这可能吗?基于,您可以创建如下方法: static <T> Type mapActionTask(Class<T> in

我想做类似的事情-使用Gson反序列化泛型类型的类。下面的代码就像一个符咒

Type type = new TypeToken<ActionTask<UptimeAction>>() {}.getType();

ActionTask task = (ActionTask) gson.fromJson(json, type);
这可能吗?

基于,您可以创建如下方法:

static <T> Type mapActionTask(Class<T> innerType) {
    return new TypeToken<ActionTask<T>>() {}
            .where(new TypeParameter<T>() {}, innerType)
            .getType();
}
String className = "com.foo.UptimeAction";
Type type = mapActionTask(Class.forName(className)); 

在这种情况下,类名称是什么,相关性?
String className = "com.foo.UptimeAction";
Type type = mapActionTask(Class.forName(className));