Google Gson: ¿deserializar el objeto de la lista <clase>? (tipo genérico

Quiero transferir un objeto de lista a través de Google Gson, pero no sé cómo deserializar los tipos genéricos.

Lo que probé después de mirarest (Respuesta de BalusC):

MyClass mc = new Gson().fromJson(result, new List<MyClass>(){}.getClass());

pero luego aparece un error en el eclipse que dice "El tipo new List () {} debe implementar el método abstracto heredado ..." y si uso una solución rápida obtengo un monstruo de más de 20 stubs de método.

Estoy bastante seguro de que hay una solución más fácil, ¡pero parece que no puedo encontrarla!

Editar

Ahora teng

Type listType = new TypeToken<List<MyClass>>()
                {
                }.getType();

MyClass mc = new Gson().fromJson(result, listType);

Sin embargo, obtengo la siguiente excepción en la línea "fromJson":

java.lang.NullPointerException
at org.apache.harmony.luni.lang.reflect.ListOfTypes.length(ListOfTypes.java:47)
at org.apache.harmony.luni.lang.reflect.ImplForType.toString(ImplForType.java:83)
at java.lang.StringBuilder.append(StringBuilder.java:203)
at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:56)
at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:88)
at com.google.gson.JsonDeserializationVisitor.visitUsingCustomHandler(JsonDeserializationVisitor.java:76)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:106)
at com.google.gson.JsonDeserializationContextDefault.fromJsonArray(JsonDeserializationContextDefault.java:64)
at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:49)
at com.google.gson.Gson.fromJson(Gson.java:568)
at com.google.gson.Gson.fromJson(Gson.java:515)
at com.google.gson.Gson.fromJson(Gson.java:484)
at com.google.gson.Gson.fromJson(Gson.java:434)

I hace catch JsonParseExceptions y "resultado" no es nulo.

Revisé listType con el depurador y obtuve lo siguiente:

list Typeargs = ListOfTypeslist = nullresolvedTypes = Tipo [1]loader = PathClassLoader ownerType0 = nuloownerTypeRes = nulorawType = Clase (java.util.ArrayList)rawTypeName = "java.util.ArrayList"

por lo que parece que la invocación "getClass" no funcionó correctamente. Alguna sugerencia...

Edit2: he marcado en elGson User Guide. Menciona una excepción de tiempo de ejecución que debería ocurrir durante el análisis de un tipo genérico a Json. Lo hice "mal" (no se muestra arriba), como en el ejemplo, pero no obtuve esa excepción en absoluto. Así que cambié la serialización como se sugiere en la guía del usuario. Sin embargo, no ayudó.

Edit3: Resuelto, vea mi respuesta a continuación.

Respuestas a la pregunta(13)

Su respuesta a la pregunta