小编Str*_*ist的帖子

无法使用Java中的List类进行向下转换

我一直在寻找答案,但无济于事.我的问题是为什么不可能用泛型来贬低.我有一个名为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)

这是一个简单的向下转换.

java generics collections downcast

8
推荐指数
1
解决办法
6293
查看次数

标签 统计

collections ×1

downcast ×1

generics ×1

java ×1