我一直在寻找答案,但无济于事.我的问题是为什么不可能用泛型来贬低.我有一个名为Job的类,并扩展了一个名为Model的类
Job extends Model
Run Code Online (Sandbox Code Playgroud)
现在,我从一个可重用的代码中获取了一组Jobs,这些代码生成了一个Models列表
// error: Cannot cast from List<Model> to List<Job>
List<Job> jobs = (List<Job>) jobMapper.fetchAll();
Run Code Online (Sandbox Code Playgroud)
其中jobMapper.fetchAll()返回一个List,其中的每个模型都是一个Job对象.
我认为这样可行,因为我能做到:
EditText mUsername = (EditText) findViewById(R.id.editUserName);
Run Code Online (Sandbox Code Playgroud)
这是一个简单的向下转换.