我有一个超类DBAdapter
,它有方法fetchAll()
它选择所有记录从DB的表到List<DBObject>
。我继承了CategoryDBAdapter
这个类,这个类知道从DBObject
延伸的类Category
。列表<DBObject>转换到列表<Category>
当我打电话:
CategoryDBAdapter categoryDbAdapter = new CategoryDBAdapter(dbHelper);
List<Category> categories = categoryDbAdapter.fetchAll();
我的代码无法施展List<DBObject>
到List<Category>
。什么是解决这一冲突的常用方法?
Java中的泛型只是幻想的突触糖,它使得它不必像恐龙在地球上漫游时那样从'Object'投射/从'Object'投射,并在编译时给你一些类型检查。你不能将泛型转换为另一个泛型。您需要重新设计类或创建新的Generic集合并复制/转换每个对象。 –