所以我有一个类:无法实例与普通类类型
public class DynQSimModule<T extends Mobsim> extends AbstractModule
{
private Class<? extends javax.inject.Provider<? extends T>> providerClass;
public DynQSimModule(Class<? extends javax.inject.Provider<? extends T>> providerClass)
{
this.providerClass = providerClass;
}
//some methods down here
}
,当我尝试打电话:
controler.addOverridingModule(new DynQSimModule<>(AMoDQSimProvider.class));
Eclipse的告诉我,它“不能推断类型参数DynQSimModule <> 。我明白这是因为我没有把任何东西放在<>中,但是我构建的示例代码使用相同的确切语法并且运行得非常好......
Whe ñ我把这样的:
controler.addOverridingModule(new DynQSimModule<? extends Mobsim(AMoDQSimProvider.class));
Eclipse的告诉我:“不能实例类型DynQSimModule”
我知道,当你试图实例化一个接口或抽象类,但DynQSimModule这是一个问题是不是那些...
任何帮助将是伟大的。
谢谢!
使用钻石算子很好。我用eclipse mars遇到过这个错误信息,真正的原因实际上是缺少导入。确保你没有任何错误,例如缺少AMoDQSSimProvider导入或奇怪类名中的拼写错误等。 –
什么是您的jdk版本? –
我刚刚安装了最新版本的JDK,并得到这个从我的终端: “Java版本 “1.8.0_91” 的Java(TM)SE运行时环境(建立1.8.0_91-B14) 的HotSpot的Java(TM)64位服务器VM(建25.91〜B14,混合模式)” 我仍然虽然具有‘不能推断类型’的问题... –