当前位置: 首页 > news >正文

泛型与Gson解析

/*** 回调接口的一种实现* 用于把网络返回的json字符串转换成参数化类型* 泛型 T 就是用户输入的javaBean的类型*/
public abstract class HttpCallback<T> implements ICallback {@Overridepublic void onSuccess (String result) {// result就是网络回来的数据// 把这个json转成用户需要的对象Gson gson = new Gson();// 得到javaBean对应的字节码Class<?> clz = analysisClassInfo(this);T objResult = (T) gson.fromJson(result, clz);// objResult就是用户最后需要的结果// 再把用户需要的结果回调给调用者onSuccess(objResult);}public abstract void onSuccess (T result);private Class<?> analysisClassInfo (Object object) {// getGenericSuperclass()得到包含原始类型,参数化,数组,类型变量,基本数据Type getType = object.getClass().getGenericSuperclass();// 获取参数化类型Type[] params = ((ParameterizedType) getType).getActualTypeArguments();return (Class<?>) params[0];}@Overridepublic void onFailure (String e) {}
}

上面的 analysisClassInfo() 方法是关键。

/*** 回调的顶层接口(JSON,XML,.....)*/
public interface ICallback {void onSuccess(String result);void onFailure(String e);
}
http://www.lryc.cn/news/183368.html

相关文章:

  • c++使用ifstream和ofstream报错:不允许使用不完整的类型
  • 调试器通用波形显示工具
  • Linux中getopt函数、optind等变量使用详解
  • RDP协议流程详解(二)Basic Settings Exchange 阶段
  • 实时人脸五观检测:基于libfacedetection(CNN模型)
  • 图像和视频上传平台Share Me
  • JavaScript 在前端开发中有什么应用?
  • 【沐风老师】推荐2023年3DMAX的10个最佳插件!
  • 【visual studio 小技巧】项目属性->生成->事件
  • 每日一题 279完全平方数(完全背包)
  • 创意中秋与国庆贺卡 - 用代码为节日增添喜悦
  • 专业综合课程设计 - 优阅书城项目(第一版)
  • 【剑指Offer】13.机器人的运动范围
  • 【Qt基础篇】信号和槽
  • .netCore用DispatchProxy实现动态代理
  • 好奇喵 | Tor浏览器——访问.onion网址,揭开Dark Web的神秘面纱
  • Maven 中引用其他项目jar包出现BOOT-INF问题
  • PHP框架面试题
  • 如何清理C盘
  • 计算机网络基础知识
  • Go语言面经进阶10问
  • 大厂真题:【DP】米哈游2023秋招-米小游与魔法少女-奇运
  • 后端面经学习自测(一)
  • win10、win11安装Ubuntu 22.04
  • golang gin框架1——简单案例以及api版本控制
  • Redisson—分布式对象
  • alsa pcm接口之在unix环境的传输方法
  • 小谈设计模式(20)—组合模式
  • sheng的学习笔记-【中文】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第三周测验
  • 一文详解动态链表和静态链表的区别