目前方法的定义如下:
public <T extends BaseEntity> List<T > LoadPositionCache(Class<T> clazz,final String fileLocation,String regionName)
 {
...
}调用时是这么调用的:
LoadPositionCache(RichFirmLadderEntity.class ,"........","........");RichFirmLadderEntity 是BaseEntity的子类。在Eclipse编译时没错,但是在continuum中build的时候,报了这个错:required: Class&lt;T&gt;,String,String
    [javac]   found: Class&lt;RichFirmLadderEntity&gt;,String,String
    [javac]   reason: inferred type does not conform to declared bound(s)
    [javac]     inferred: RichFirmLadderEntity
    [javac]     bound(s): BaseEntity
    [javac]   where T is a type-variable:
    [javac]     T extends BaseEntity declared in method &lt;T&gt;LoadPositionCache(Class&lt;T&gt;,String,String)
想问各位大侠,这是为虾米。

解决方案 »

  1.   

    不清楚,不过你这个样子写干嘛不直接把BaseEntity 做泛型不就好了,其实是一样的啊
      

  2.   

    LoadPositionCache(RichFirmLadderEntity.class ,"........","........");RichFirmLadderEntity 是BaseEntity的子类。===
    RichFirmLadderEntity 是BaseEntity的子类。
    但是RichFirmLadderEntity.class并不是BaseEntity的子类对象。
    class是一种特殊的对象。
    你把Class<T> clazz里面的T改成别的吧。