mam klasę, która deserializes ArrayList rodzajowych z tej funkcji, tak jak opisano w pierwszej odpowiedzi w tym wątku: Java abstract class function generic TypeBłąd odlewania TypeToken typowi podczas deserializacji z gson
public <T> ArrayList<T> arrayType(String data){
return g.fromJson(data, TypeToken.get(new ArrayList<T>().getClass()));
}
Eclipse pyta mnie rzucić TypeToken Otrzymany w ten (Sinde funkcja fromJson potrzebuje typ, a nie TypeToken)
public <T> ArrayList<T> arrayType(String data){
return g.fromJson(data, (Type) TypeToken.get(new ArrayList<T>().getClass()));
}
w rezultacie otrzymuję ten błąd:
java.lang.ClassCastException: com.google.gson.reflect.TypeToken cannot be cast to java.lang.reflect.Type
Na gson user manual mówią ci to poprawny sposób wywoływania funkcji
Type collectionType = new TypeToken<Collection<Integer>>(){}.getType();
Collection<Integer> ints2 = gson.fromJson(json, collectionType);
i nie mogę zobaczyć, co robię źle (jeśli jest to ważna odpowiedź, dlaczego ja się tej obsady błąd)