我使用GSON將JSON解碼爲類型T的對象,例如在GSON中使用泛型
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。
我錯了嗎?
感謝
重複的問題:http://stackoverflow.com/questions/5370768/using-a-generic-type-with-gson – 2013-02-23 05:13:05