Gson通过借助TypeToken获取泛型参数的类型的方法
程序员文章站
2024-03-16 09:05:28
...
参考文章:
Gson通过借助TypeToken获取泛型参数的类型的方法
概括来说就是对于带有泛型的class,返回一个ParameterizedType对象,对于Object、接口和原始类型返回null,对于数 组class则是返回Object.class。ParameterizedType是表示带有泛型参数的类型的Java类型,JDK1.5引入了泛型之 后,Java中所有的Class都实现了Type接口,ParameterizedType则是继承了Type接口,所有包含泛型的Class类都会实现 这个接口。
Type type2 = ((ParameterizedType)snHttpCallback.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
T bean3 = gson.fromJson(response, type2);
snHttpCallback.callBack(bean3);
public abstract class SnHttpCallback<T> {
public abstract void callBack(T response);
}