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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘宏庆 黑马帝   /  2011-7-25 13:04  /  2246 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近想做一个小框架,目的是想把List<Model>直接翻译到JTable中。方法是通过在Model中定义和显示列相关的Annotation,然后对Annotation进行解析。但是在编写代码的时候遇到问题,问题如下:
public DreamTableModel(List<? extends AbstractModel> list) {   
Field[] fields =  (? extends AbstractModel).class.getClass().getFields();   
}  
其中【 (? extends AbstractModel).class】行编译不过去。用什么方法可以解决呢?

4 个回复

倒序浏览
黑马网友  发表于 2011-7-25 14:44:07
沙发
。。。。?是和object差不多的关系,能继承么,我觉得你可以把?改为T试下
回复 使用道具 举报
黑马网友  发表于 2011-7-25 14:46:38
藤椅
....我看不懂,那个没返回值,是构造方法么,代码贴全一点。。。
回复 使用道具 举报
黑马网友  发表于 2011-7-25 14:50:14
板凳
java确实不支持对不确定类型做class操作,张老师视频里面也提到过这个
用[code=java]List <AbstractModel> list [/code]来代替这个吧[code=java]List<? extends AbstractModel> list [/code]最好继承这个AbstractModel,再存到List里面
回复 使用道具 举报
黑马网友  发表于 2011-7-25 15:51:12
报纸
(? extends AbstractModel).class暂且不讨论可不可以这样写,但是在这行语句中,
       Field[] fields =  (? extends AbstractModel).class.getClass().getFields();   
        (? extends AbstractModel).class已经是字节码了,而又去getClass(),得到的是Calss类的字节码吧,是想要这份字节码吗?貌似不是吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马