Maison > Java > javaDidacticiel > Comment puis-je utiliser le TypeToken de Gson avec un type d'élément ArrayList déterminé dynamiquement en Java ?

Comment puis-je utiliser le TypeToken de Gson avec un type d'élément ArrayList déterminé dynamiquement en Java ?

DDD
Libérer: 2024-12-11 07:35:09
original
341 Les gens l'ont consulté

How Can I Use Gson's TypeToken with a Dynamically Determined ArrayList Item Type in Java?

Gson TypeToken avec type d'élément Dynamic ArrayList utilisant la réflexion

En Java, le TypeToken de Gson peut être utilisé pour représenter un type paramétré. Dans certains scénarios, il est nécessaire de spécifier dynamiquement le type des éléments ArrayList au moment de l'exécution à l'aide de la réflexion. Cela peut être réalisé comme suit :

Pour spécifier le type d'élément d'une ArrayList au moment de l'exécution, nous pouvons utiliser la méthode TypeToken#getParameterized. Cette méthode accepte un type brut et un nombre variable d'arguments de type. Dans ce cas, nous utiliserions le type brut ArrayList.class et le type déterminé dynamiquement comme argument de type.

Par exemple, l'extrait suivant montre comment créer un TypeToken avec un type d'élément ArrayList dynamique :

import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Example {

    public static void main(String[] args) {
        // Dynamically determine the ArrayList item type
        Class<?> itemType = Class.forName("myPackage.myClass");

        // Create the TypeToken with the dynamic item type
        Type typeOfObjectsList = TypeToken.getParameterized(ArrayList.class, itemType).getType();

        // Use the TypeToken to convert a JSON string to a List of objects
        String json = "...";
        List<?> objectsList = new Gson().fromJson(json, typeOfObjectsList);
    }
}
Copier après la connexion

Dans cet exemple, itemType est déterminé dynamiquement au moment de l'exécution et le TypeToken est créé à l'aide de getParameterized. Le TypeToken résultant peut ensuite être utilisé pour convertir une chaîne JSON en une liste d'objets avec le type d'élément spécifié.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal