Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t将ArrayList类强制转换为接口的ArrayList_Java_Android_Arraylist_Casting - Fatal编程技术网

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强制转换为ArrayList。为什么呢

若设备实现了ListItem,而DeviceList是设备的数组列表,那个么我不应该强制转换它吗

我试着这样做:

ArrayList<ListItem> list2 = (ArrayList<ListItem>) device_list;
ArrayList列表2=(ArrayList)设备列表;

这是一个常见的误解。尽管设备是列表项,但设备列表不是列表项列表。
顺便说一句,这个问题已经得到了回答,例如,这是一个常见的误解。尽管设备是列表项,但设备列表不是列表项列表。
顺便说一句,这已经得到了回答,例如,请参见和

devicelist的类型为Device,arraylist的类型为listitemYes,但是Device实现了ListItem,所以我应该能够强制转换它?devicelist的类型为Device,arraylist的类型为listitemYes,但是Device实现了ListItem,所以我应该能够强制转换它?谢谢,我会尽快接受答案的。谢谢,我会尽快接受答案的