Java Can';t将ArrayList类强制转换为接口的ArrayList
代码结构Java Can';t将ArrayList类强制转换为接口的ArrayList,java,android,arraylist,casting,Java,Android,Arraylist,Casting,代码结构 public interface ListItem public abstract class Device implements ListItem public class DeviceList extends ArrayList<Device> public class ListAdapter extends BaseAdapter{ ... public ArrayList<ListItem> items; ... } 公共接口列表项 公
public interface ListItem
public abstract class Device implements ListItem
public class DeviceList extends ArrayList<Device>
public class ListAdapter extends BaseAdapter{
...
public ArrayList<ListItem> items;
...
}
公共接口列表项
公共抽象类设备实现ListItem
公共类DeviceList扩展了ArrayList
公共类ListAdapter扩展了BaseAdapter{
...
公共阵列列表项;
...
}
我想将DeviceList传递给ListAdapter,但无法将DeviceList强制转换为ArrayListArrayList<ListItem> list2 = (ArrayList<ListItem>) device_list;
ArrayList列表2=(ArrayList)设备列表;
这是一个常见的误解。尽管设备是列表项,但设备列表不是列表项列表。
顺便说一句,这个问题已经得到了回答,例如,这是一个常见的误解。尽管设备是列表项,但设备列表不是列表项列表。
顺便说一句,这已经得到了回答,例如,请参见和devicelist的类型为Device,arraylist的类型为listitemYes,但是Device实现了ListItem,所以我应该能够强制转换它?devicelist的类型为Device,arraylist的类型为listitemYes,但是Device实现了ListItem,所以我应该能够强制转换它?谢谢,我会尽快接受答案的。谢谢,我会尽快接受答案的