java确实不支持对不确定类型做class操作,不过你这里的目的其实是想取List里面实际传过来的Model类型吧?那也可以不用这种形式啊,像下面这样不就行了。。
private void testfunc(List
for (AbstractModel m : list)
{
Field[] fields = m.getClass().getFields();
...
}
}
而且感觉其实应该这样对List的每一个元素分别处理,因为如果是你原来那样做的话,别人调用方如果有一个AbstractModel的子类Model,并且用如下方法调用:
List
list.add(new Model());
DreamTableModel dtm = new DreamTableModel(list);
就算编译可以过,按照你原来的想法你也只会取到AbstractModel的Fields,而不是List里面的实际元素Model的Fields。