[英]An Arraylist of a Generic class
我想从列表访问通用对象,但始终会收到不兼容的Typs错误消息。
MyGenericContainer <Cursor> cursorContainer = new MyGenericContainer<Cursor>(c);
ArrayList <MyGenericContainer> arrayList = new ArrayList<MyGenericContainer>();
arrayList.add(cursorContainer);
Cursor cursor = arrayList.get(0).getValue();
通常,是否有一种方法可以将通用对象放入列表并访问每个对象(不强制转换)?
创建数组列表时,您是否缺少某些内容?
我想这样改变它,应该可以正常工作:
ArrayList <MyGenericContainer<Cursor>> arrayList = new ArrayList<MyGenericContainer<Cursor>>();
您正在设置使用原始 MyGenericContainer
键入的ArrayList
。 因此,编译器暗示ArrayList
将由Object
实例的MyGenericContainer
组成。
为了修复它,您需要设置MyGenericContainer
类型的类型参数:
List<MyGenericContainer<Cursor>> arrayList = new ArrayList<MyGenericContainer<Cursor>>();
如果您使用的是Java7 +,则可以利用菱形( <>
),该菱形将允许您键入较不冗长的声明:
List<MyGenericContainer<Cursor>> arrayList = new ArrayList<>();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.