我有这个代码:
Type typeOfObjectsList = new TypeToken<ArrayList<myClass>>() {}.getType();
List<myClass> objectsList = new Gson().fromJson(json, typeOfObjectsList);
我试过这个:
private <T> Type setModelAndGetCorrespondingList2(Class<T> type) {
Type typeOfObjectsListNew = new TypeToken<ArrayList<T>>() {}.getType();
return typeOfObjectsListNew;
}
但不管用。这是一个例外:
java.sql.SQLException: Fail to convert to internal representation: {....my json....}
您建议的语法无效。以下内容
new TypeToken<ArrayList<Class.forName(MyClass)>>
无效,因为您正在尝试传递需要类型名称的方法调用。
以下内容
new TypeToken<ArrayList<T>>()
换句话说,如果它看到arraylist
,这就是它将返回的parameterizedtype
,您将无法提取类型变量t
本来应该具有的编译时值。
type
和parameterizedtype
都是接口。您可以提供自己实现的实例。
问题内容: 我有以下代码: 它将字符串转换为对象的。但是,现在我想让它具有在运行时定义的动态类型(而不仅仅是)。 所述的项目类型将与被定义反射。 我尝试了这个: 但这是行不通的。这是例外: 问题答案: 你提出的语法无效。下列 之所以无效,是因为你试图传递期望类型名称的方法调用。 下列 由于泛型(类型擦除)和反射的工作方式,因此无法实现。整个TypeToken黑客工作,因为以下 返回表示该类表示的实
使用Gson库,我通过以下代码将JSON字符串转换为ArrayList对象: 您可以在第二段代码中看到,我使用反射来指定类的类型;但是对于第一段代码,我不知道如何使用反射指定列表的类型。 我该怎么办?!
我有基类WebAnswer, 和继承的类RequestAnsModel
我有一个列数可变的表(取决于客户),所以我在寻找一种使用JPA/Hibernate或其他方法将该表与java对象映射的方法 我不能使用POJO,因为它仅限于一个稳定的表,所以我想像这样使用java对象 } 存储MyObject的表: 当然还有质疑的可能性
如何创建具有整数和字符串输入类型的?如果我创建一个: 这将是一个类型。如果我将其创建为: 这将是类型。我如何创建一个,它可以接受整数和字符串输入类型?谢谢。
问题内容: 在常规数组列表初始化中,我们习惯于如下定义泛型类型, 但是,如果是ArrayLists的ArrayList,我们如何定义其通用类型? 数组列表的数组列表代码如下: 只需共享语法,如果有人对此有想法。 问题答案: 你可以做 如果您需要一个列表数组,可以执行 并安全地忽略或禁止该警告。