JAVA的泛型怎么会报错的?

ExaminationPojo dbRes = examinationMapper.selectById(id);

GenerateResCode2 res = new GenerateResCode2<ExaminationPojo>();
res.setRes(dbRes);

//这里会报错的
//Required type: ExaminationPojo
//Provided: Object
ExaminationPojo item = res.getRes();

//用强转换倒是可以,或者定义为object也行,但是用这两个方法泛型不就没意义了吗
//ExaminationPojo item = (ExaminationPojo) res.getRes();
//Object item = res.getRes();

//这个是定义类
public class GenerateResCode2 <T>  {
  private T res;

  public T getRes() {
    return res;
  }

  public void setRes(T res) {
    this.res = res;
  }
}
阅读 1.6k
2 个回答
✓ 已被采纳

应该是:
GenerateResCode2<ExaminationPojo> res = new GenerateResCode2<>();
泛型要写前面的。

res.getRes返回值是空,但是你定义了ExaminationPojo类型的 item接受

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题