我正在使用 GSON 将 JSON 解码为 T 类型的对象,例如
public T decode(String json) {
Gson gson = new Gson();
return gson.fromJson(json, new TypeToken<T>() {}.getType());
}
然而,这会返回一个异常 -
java.lang.AssertionError:意外类型。预期之一:java.lang.reflect.ParameterizedType、java.lang.reflect.GenericArrayType,但得到:sun.reflect.generics.reflectiveObjects.TypeVariableImpl,用于类型标记:T
我认为通过使用 TypeToken 我避免了 Type Erasure。
我错了吗?
谢谢