JAVA的泛型怎么会报错的?

作者站长头像
站长
· 阅读数 5
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个回答
avatar
test
2024-07-05

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

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容