Type mapType = new TypeToken<Map<String,Object>>(){}.getType();
该方法是获取从json转为要转为java对象的对象类型。
Type mapType = new TypeToken<Map<String,Object>>() {}.getType();
String data= ((String[])parameters.get("data"))[0];
Map<String,Object> params = gson.fromJson(data, mapType);
刚开始看这段代码的时候,大概知道是干什么用的。但是对这里的语法很是不理解。
为什么这样就可以new一个不能访问的类对象呢。按照理解,不再同一个包下(Gson下的类),时不能直接new的。但是神奇的是只要加一个{}
就可以了。
其实是这样的这里new的并不是TypeToken对象,而是在此处定义了一个匿名类。该匿名类继承自TypeToken。并对该匿名类进行定义{} 里面什么都没有写。因为我们只需要用到父类的一个public方法而已。