本文共 724 字,大约阅读时间需要 2 分钟。
当我们解析 json 时, 期望通过参数传入目标类, 得到返回值对象类型就是目标类的类型, 从而省掉类型转换的操作, 这时就可以利用泛型
/** * 方法上泛型的语法: * 在返回值前面使用尖括号, 里面是泛型, 表示某个类型 * 这里方法参数是 Class返回值是 T, 表示传入某个类对象, 返回值可以拿到该类的实例对象 */public static T parse(String text, Class clazz) { try { return JSON.parseObject(text, clazz); } catch (Exception e) { log.error("json 解析出错: {}", text); log.error(e.getMessage(), e); return null; }}
其他泛型常识
<E extends DemoData>
表示继承 / 实现 DemoData
的类才能编译通过; <E super DemoData>
表示子类 / 子接口是 DemoData
的类才能编译通过<?>
, 这种数据取到默认都是 Object
类型转载地址:http://tccg.baihongyu.com/