【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
public abstract class BaseHandle<T extends ReqData<K>,K> implements IHandle {
protected T bean;
protected Class<T> klass;
private ObjectMapper mapper;
@Autowired
protected CommonMybatisManager commonMybatisManager;
@SuppressWarnings("unchecked")
public CRUDutil(){
klass =(Class<T>) ((ParameterizedType)
getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
@Override
public void convert(String data) {
bean=mapper.readValue(data, klass);
}
}
1.泛型<>中填写的到底是什么?
2.并且这个地方无法转换T<K>这种类型。
public abstract class BaseHandle<ReqData<T>> implements IHandle {
//此处错误,无法这样整
}
public abstract class BaseHandle<T> implements IHandle {
protected ReqData<T> bean;
protected Class<T> klass;
@Autowired
protected CommonMybatisManager commonMybatisManager;
@Override
public void convert(String data) {
bean=JsonBinder.buildNormalBinder().fromJson(data, new TypeReference<ReqData<T>>(){});
}
}
如果改成这样的话,那么,,T变成了object?得到的结果是转成了linkedmap?
BaseHandle<T extends ReqData<K>,K> 写的这么复杂 ,就两个类型啊 T,K 啊其中T类型是 ReqData 的子类,然后K 等于ReqData的泛型类型
什么意思?如果不知道继承类型,怎么操作数据?