Я использую 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.
Я не прав?
Спасибо