所以我有一個類:無法實例與普通類類型
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,混合模式)」 我仍然雖然具有‘不能推斷類型’的問題... –