GSON ClassCast 异常无法从对象转换为字符串

GSON ClassCast Exception cannot cast from object to string

        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

做类似上面的事情。我正在尝试序列化对象列表。其中的第一个元素是一个字符串,但是当我反序列化列表并将第一个元素读入一个字符串时,它会抛出一个类转换异常。并且在序列化之前将第一个元素读取到字符串时没有异常。

这背后的原因是什么?

我有旧版本的 GSON 1.4。

更新到 2.2.4 版本有效。