是否可以创建一个从 jsson 解析通用集合的方法?我上面的方法不起作用,因为在运行时 gson 在此处返回 LinkedHasmaps 的 ArrayList,但是在编译时没有错误。
private <T> ArrayList<T> readArray(String json)
{
Gson gson = new Gson();
Type collType = new TypeToken<ArrayList<T>>() {
}.getType();
return gson.fromJson(json, collType);
}
我已经在这里看过一些类似的问题,例如:在 Gson 中使用泛型类型 https://stackoverflow.com/questions/5370768/using-a-generic-type-with-gson,但我没有找到真正有效的解决方案。
TypeToken 的东西要求你在编译时固定类型参数。喜欢ArrayList<String>
或者其他的东西。ArrayList<T>
不管用。
如果您可以在运行时以某种方式获取 T 的类对象,那么您可以尝试我在中建议的解决方案如何在运行时从泛型类型定义和运行时类型参数构建 Java 类型对象? https://stackoverflow.com/questions/9111899/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)