2017-04-03 43 views
3

我有以下類:xyz是不是範圍內的類型變量T

public class Blub extends AbstractPreloadDefinition<AddressmasterModel> 

javac編譯器,使我有以下錯誤:

Error:(15, 79) java: type argument AddressmasterModel is not within bounds of type-variable T

AbstractPreloadDefinition如下所示:

abstract class AbstractPreloadDefinition<T extends PersistedEntity<?>> implements PreloadDefinition<T> 

and AddressmasterModel看起來如下:

public abstract class AddressmasterModel<V extends VoucherModel> implements Serializable, Auditable, PersistedEntity<Integer>, Comparable<AddressmasterModel<V>> 

因此,AddressmasterModel執行PersistedEntity。錯誤在哪裏?我不能找到它:/

我使用的IntelliJ 2017.1的javac的編譯器。如果我切換到eclipse作爲編譯器,此錯誤消失...

+0

請添加VoucherModel的定義。更好的是,創建一個MCVE – Arkadiy

+0

'PreloadDefinition'怎麼樣? – walen

+0

自動解決了缺少類的編譯錯誤後,我得到了這個**警告**:*'AddressmasterModel'是一個原始類型。參考通用類型'AddressmasterModel '應參數化。*。您可以修復此警告,如@ d-m建議。否則,請創建一個[sscce](http://sscce.org/)。 –

回答

5

我認爲你需要擴展PersistedEntity<Something>而不是PersistedEntity。此作品:

class Blub extends AbstractPreloadDefinition<AddressmasterModel<VoucherModel>>