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