当前位置: 首页 > 知识库问答 >
问题:

java - JAVA的泛型怎么会报错的?

淳于坚壁
2023-04-24
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;
  }
}

共有2个答案

东郭自珍
2023-04-24

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

李疏珂
2023-04-24

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

 类似资料:
  • 问题内容: 我有一个代表文本片段的泛型类。该文本片段可能具有多种不同模式(突出显示的不同类型)中的任何一种。这些模式用枚举表示。每个项目的Enum可能不同,但是它必须实现一个接口,该接口提供了一种将其中两个结合的方法(可以突出显示并加粗显示)。所以我有一个界面: 然后我的TextFragment是文本字符串和模式的容器。但是当我尝试声明该类时: 我收到以下错误: 令牌“扩展”的语法错误,预期 根据

  • 调pickTwo报错: class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.String; @SafeVarargs 怎么没效果呢?不是这样用的吗?

  • 有没有大佬来帮我看一看,是关于github actions的,我在实现一个推送代码到指定分支上时,会自动触发在远程目标服务器上面部署运行springboot项目,但是每一次运行到以下代码的时候: 它就会一直卡在这里。但是事实上,这一个项目是被正确运行了,监听端口也有信息,但是工作流中会报错: 我有一点不明白,部署成功之后,不就是应该断开ssh连接吗?有没有大佬解决一下? 因为这个地方报错,所以它工

  • 如何获取这个类的类型?对于上下文,我使用ModelMapper,我需要类类型T从S转换为T。 背景: 我已经尝试了N种方法,其中我放置了“//一些方法来获取类型”,但没有任何效果。例如: 或

  • 这是一个框架的源代码,当我使用convert()函数时 让我感到奇怪的是,返回类型是新类型变量R,他只是调用this.setRecords(collect);但是setRecords()函数只接收列表 ! 为了验证这一点,我自己编写了一个接口,但是编译失败了

  • 主要内容:泛型集合,泛型类,泛型方法,泛型的高级用法前面我们提到 Java 集合有个缺点,就是把一个对象“丢进”集合里之后,集合就会“忘记”这个对象的数据类型,当再次取出该对象时,该对象的编译类型就变成了 Object 类型(其运行时类型没变)。 Java 集合之所以被设计成这样,是因为集合的设计者不知道我们会用集合来保存什么类型的对象,所以他们把集合设计成能保存任何类型的对象,只要求具有很好的通用性,但这样做带来如下两个问题: 集合对元素类型没有