I have a method for reading JSON from a service, I\'m using Gson to do my serialization and have written the following method using type parameters.
public T
If you are using SpringFramework
you could use ParameterizedTypeReference
as follows:
restClient.getDeserializedJSON(ParameterizedTypeReference<List<MyClass>>(){},url);
As a follow up to this, I found this in the Gson docs.
Type listType = new TypeToken<List<String>>() {}.getType();
Which solves the problem of getting the type safely but the TypeToken class is specific to Gson.
You can use Bozho's solution, or avoid the creation of a temporary array list by using:
Class<List<MyClass>> clazz = (Class) List.class;
The only problem with this solution is that you have to suppress the unchecked warning with @SuppressWarnings("unchecked")
.
You can't. You'd have to use unsafe cast:
Class<List<MyClass>> clazz =
(Class<List<MyClass>>) new ArrayList<MyClass>().getClass();