首页 > Java > java教程 > 如何在Gson中使用反射动态创建类型化ArrayList?

如何在Gson中使用反射动态创建类型化ArrayList?

DDD
发布: 2024-12-21 05:20:11
原创
164 人浏览过

How Can I Dynamically Create a Typed ArrayList in Gson Using Reflection?

使用 Gson TypeToken 和 Reflection 实现动态类型 ArrayList

在此查询中,目标是使用 Gson 创建动态类型的 ArrayList,其中数据类型在运行时确定使用 Java 反射。

最初的方法涉及使用 TypeToken 来指定 ArrayList 的所需类型。但是,它导致了运行时错误。

为了解决此问题,修订后的解决方案利用了 Gson 2.8.0 中引入的新 TypeToken 方法 getParameterized(Type rawType, Type... typeArguments)。此方法允许您为特定参数化类型创建 TypeToken。

更新的代码:

private <T> Type setModelAndGetCorrespondingList2(Class<T> type) {
    return TypeToken.getParameterized(ArrayList.class, type).getType();
}
登录后复制

使用此修改后的解决方案,您可以动态为所需的 ArrayList 类型创建 TypeToken运行时使用 Java 反射并通过 getType() 方法检索相应的 Type。

以上是如何在Gson中使用反射动态创建类型化ArrayList?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板