在java中,经常用到泛型,下面用实例说一下怎么把json字符串转换为对应的泛型。
父类:parentClass<T>
子类:childClass extends parentClass<A>
childClass child = new childClass();
父类中根据泛型解析字符串方法如下:
/**
* 解析mqText
*
* @param mqText
* @return
*/
protected T parseObject(String mqText) throws Exception {
try {
return JSONObject.parseObject(mqText, getClazz());
} catch (Exception e) {
logger.error(getDestination() + "-------解析mq失败:------" , e);
throw new Exception(getDestination() + "解析mq失败:" , e);
}
}
public Class<T> getClazz() {
Type t = getClass().getGenericSuperclass();
ParameterizedType p = (ParameterizedType) t;
Class<T> c = (Class<T>) p.getActualTypeArguments()[0];
return c;
}