解决方案 »

  1.   

    public static <T> A parse(String jsonStr, T t) {
           new Gson().fromJson(jsonStr, t.getClass());
    }你应该要的是这样子
      

  2.   

    不是,我再写清楚点吧,我现在要解析的话,要写这样的代码:public static final int main() {
         String jsonStr = "{\"a\":{\"b\":\"1\",\"c\":\"2\"}}";
         A<C> a = parse(jsonStr, new TypeToken<A<C>>(){}.getType());
    }public static A parse(String jsonStr, Type t) {
           return new Gson().fromJson(jsonStr, t);
    }可以看到,函数的参数要传new TypeToken<A<C>>(){}.getType(),非常长非常不好看
    所以我希望把new TypeToken<A<C>>(){}.getType()这一块直接放到parse函数里,函数参数只传一个跟C有关的东西
      

  3.   

    public static <T> A parse(String jsonStr, T t) {
           return new Gson().fromJson(jsonStr,new TypeToken<A<T>>(){}.getType() );
    }
      

  4.   

    这个不行的你最后传给gson的是new TypeToken<A<T>>这个type,实际上真实的数据类型没有传下去