在此查询中,目标是使用 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中文网其他相关文章!