首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >泛型对象创建在eclipse中显示错误,但在maven中编译

泛型对象创建在eclipse中显示错误,但在maven中编译
EN

Stack Overflow用户
提问于 2015-03-19 21:35:51
回答 1查看 190关注 0票数 1

嗨,我有一些初始化如下....它在eclipse中显示类型不匹配的错误。如果我通过命令提示符使用maven进行编译,它编译时没有任何错误。使用eclipse的露娜,编译器设置为java1.7。

代码语言:javascript
复制
  ReportData<Object> rdata = null;

  rdata =  new ReportData<>(reportCtx.get()); // error shown for this line in //eclipse.

  ReportData<T>{

      private T val;
      public ReportData(T val){
          this.val=val;
      }
  }

我不明白,为什么eclipse会显示这个错误,以及它是如何用同样的java 1.7在maven中编译的。rdata = new ReportData<>(reportCtx.get());初始化有什么问题?

EN

回答 1

Stack Overflow用户

发布于 2015-03-20 23:39:05

ReportData<?>是各种报表数据的超类型。

ReportData<Object>并不是所有类型报告数据的超类型。

因此,您不能分配:

ReportData<Object>ReportData<of an unknown kind>

参见The Java™ Tutorials , Generics, Wildcards

顺便说一句,除了……

代码语言:javascript
复制
ReportData<Object> rdata = new ReportData<Object>(reportCtx.get());

..。在...中的不同声明

代码语言:javascript
复制
ReportData<?> rdata = new ReportData<>(reportCtx.get());

..。也能起到这个作用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29146046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档