嗨,我有一些初始化如下....它在eclipse中显示类型不匹配的错误。如果我通过命令提示符使用maven进行编译,它编译时没有任何错误。使用eclipse的露娜,编译器设置为java1.7。
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());初始化有什么问题?
发布于 2015-03-20 23:39:05
ReportData<?>是各种报表数据的超类型。
ReportData<Object>并不是所有类型报告数据的超类型。
因此,您不能分配:
ReportData<Object>←ReportData<of an unknown kind>
参见The Java™ Tutorials , Generics, Wildcards。
顺便说一句,除了……
ReportData<Object> rdata = new ReportData<Object>(reportCtx.get());..。在...中的不同声明
ReportData<?> rdata = new ReportData<>(reportCtx.get());..。也能起到这个作用。
https://stackoverflow.com/questions/29146046
复制相似问题