2017-12-11 9 views
0

コード構造インターフェイス

public interface ListItem 
public abstract class Device implements ListItem 
public class DeviceList extends ArrayList<Device> 
public class ListAdapter extends BaseAdapter{ 
... 
    public ArrayList<ListItem> items; 
... 
    } 

のArrayListにArrayListのクラスをキャストすることはできません私はListAdapterにDEVICELISTを渡したいが、<のListItem>をArrayListにDEVICELISTをキャストすることはできません。何故ですか?

DeviceがListItemを実装し、DeviceListがDeviceの配列リストである場合、それをキャストすることはできませんか?

私はこのようにそれを試してみてください。

ArrayList<ListItem> list2 = (ArrayList<ListItem>) device_list; 
+0

DEVICELISTは型のデバイスであり、ArrayListのがタイプのListItem –

+0

はいのですが、デバイスがリストアイテムを実装して、答えていたので、私はそれをキャストすることができるはずですか? –

答えて

関連する問題