List<Object> l = new ArrayList<Object>();
l.add("abc");
String s = (String) l.get(0); /////// No Exception here
System.out.println(l);
String json = gson.toJson(l);
System.out.println(json);
Type t = new TypeToken<List<Object>>() {
}.getType();
List<Object> dl = gson.fromJson(json, t);
String ds = (String) dl.get(0); /////Class Cast Exception here
做类似上面的事情。我正在尝试序列化对象列表。其中的第一个元素是String,但是当我反序列化列表并将第一个元素读取到字符串时,它会抛出classcastexception。在序列化之前将第一个元素读取到字符串时没有例外。
这背后的原因是什么?
答案 0 :(得分:1)
我有一个旧版本的GSON 1.4。
将其更新为2.2.4版本。