Gson provides TypeToken to preserve generic type information during deserialization.
import com.google.gson.*;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
class AwesomeList<T> {
List<T> items;
}
public class GsonGenericExample {
public static void main(String[] args) {
Gson gson = new Gson();
String json = "[\"Hello\", \"World\"]";
Type type = new TypeToken<AwesomeList<String>>(){}.getType();
AwesomeList<String> list = gson.fromJson(json, type);
System.out.println(list.items); // Output: [Hello, World]
}
}
Gson automatically handles generics using TypeToken.