J'essaie de résoudre un problème que j'ai lors de la désérialisation d'un Si j'essaie avec: p> ... le En raison de cela, j'ai essayé d'utiliser un hashmap
HashMap code "résultant contient linkedTremap code> objets au lieu de myparcelablepojo code> objets. p> typéoken code> de la même manière que je n'ai vu dans la deuxième question liée ci-dessus, Mais cela ne me permet pas de spécifier les paramètres de hashmap code>. Si j'essaie: P> protected TypeToken() {
this.type = getSuperclassTypeParameter(getClass());
this.rawType = (Class<? super T>) $Gson$Types.getRawType(type);
this.hashCode = type.hashCode();
}
3 Réponses :
Vous instaniez un notez le Typeoken code> via la création d'une sous-classe, qui est généralement anonyme: {} code> dans ma réponse. La raison de cela est expliquée dans le Javadoc: P> /**
* Represents a generic type {@code T}. Java doesn't yet provide a way to
* represent generic types, so this class does. Forces clients to create a
* subclass of this class which enables retrieval the type information even at
* runtime.
*
* <p>For example, to create a type literal for {@code List<String>}, you can
* create an empty anonymous inner class:
*
* <p>
* {@code TypeToken<List<String>> list = new TypeToken<List<String>>() {};}
*
* <p>This syntax cannot be used to create type literals that have wildcard
* parameters, such as {@code Class<?>} or {@code List<? extends CharSequence>}.
*
* @author Bob Lee
* @author Sven Mawson
* @author Jesse Wilson
*/
... Oups, j'ai oublié d'appliquer le () {}. gettype () code> partie de l'exemple que j'ai vu dans les questions que j'ai liées ... je pourrais ajouter que je ne m'attendais pas à ce que {} code> suffirait à faire disparaître l'erreur. Merci
... Je l'ai testé en ce moment. Maintenant, il désérialise correctement. Merci beaucoup.
Je ne pense pas que vous ayez utilisé correctement la typée, je faisais; où vous passez le type, pas le jeton réel. p> p>
Vous avez raison. La réponse acceptée pointa la même chose. Merci.
Si vous utilisez Kotlin, n'oubliez pas d'utiliser