A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© che201311 中级黑马   /  2013-11-26 10:04  /  1030 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public <T extends BaseEntity> List<T > LoadPositionCache(Class<T> clazz,final String fileLocation,String regionName)
  2. {
  3. ...
  4. }
复制代码


调用时是这么调用的:
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技术分 +1 收起 理由
FFF + 1 淡定

查看全部评分

4 个回复

倒序浏览
LoadPositionCache(RichFirmLadderEntity.class ,"........","........");

RichFirmLadderEntity 是BaseEntity的子类。

===
RichFirmLadderEntity 是BaseEntity的子类。
但是RichFirmLadderEntity.class并不是BaseEntity的子类对象。
class是一种特殊的对象。
你把Class<T> clazz里面的T改成别的吧。
回复 使用道具 举报
好吧 懂得不是太彻底
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马