最近想做一个小框架,目的是想把List直接翻译到JTable中。方法是通过在Model中定义和显示列相关的Annotation,然后对Annotation进行解析。但是在编写代码的时候遇到问题,问题如下:
[code="java"]
public DreamTableModel(List<? extends AbstractModel> list) {
Field[] fields = (? extends AbstractModel).class.getClass().getFields();
}
[/code]
其中【 (? extends AbstractModel).class】行编译不过去。用什么方法可以解决呢?
[code="java"] public DreamTableModel(Class clazz, List list) {
Field[] fields = clazz.getFields();
}[/code]
List<? extends AbstractModel> list
变成
List《AbstractModel> list
要存放到list中的类都继承 ListAbstractModel
是啊,不行吗
list里面都存放的是 AbstractModel的子类,你这样得到的是父类的fields?
[code="java"]
public abstract class Parent {
}
public class Child extends Parent {
public String name = "3";
public static void main(String[] args) {
System.out.println(Child.class.getFields().length);
}
}
//parent就写成一个空的
//子类继承他,然后放到list里面当然是获得子类的东西
[/code]
做个判断咯,null这种东西