我一直在寻找这个问题的答案,但没有成功。我的问题是为什么不能使用泛型进行向下转型。我有一个名为 Job 的类,并扩展了一个名为 Model 的类
Job extends Model
现在,我从生成模型列表的可重用代码中获取作业集合
// error: Cannot cast from List<Model> to List<Job>
List<Job> jobs = (List<Job>) jobMapper.fetchAll();
其中 jobMapper.fetchAll() 返回一个 List,其中的每个模型都是一个 Job 对象。
我认为这会起作用,因为我可以这样做:
EditText mUsername = (EditText) findViewById(R.id.editUserName);
这是一种简单的贬低。
你不能这样做,因为 Java 不允许这样做。读这个。 https://stackoverflow.com/questions/1292109/generics-get-and-put-rule你应该这样做:
List<Job> jobs = (List<Job>) ((List<?>)jobMapper.fetchAll());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)