我想將我的模型包裝在主要用於ListView的ModelCollection中。該集合總是具有相同的屬性,如title,totalResults(用於分頁),並且它應包含ArrayList「items」中的listItem-Models。 但是,這些模型具有不同的類型,如「ModelCategory」或「ModelChain」,並且通常具有不同的屬性和方法。Java:將不同類型的對象放入ModelCollection的ArrayList中。 Interaces?
如何在具有強大打字規則的java中實現這一目標?我的心界面是一個正確的方式來做到這一點。我在哪裏必須執行它們?
public class ModelCollection {
public ArrayList< ModelCategory OR ModelChain OR ModelXyz> items = new ArrayList<ModelCategory OR ModelChain OR ModelXyz>();
private String id;
private String title;
private Long updated;
private String linkSelf;
private int totalResults;
private int startIndex;
/*
more stuff like parsing a feed
*/
}
好,以及如何代碼看起來在我的視圖控制器/活動?我如何訪問ModelCategory的特殊方法? – OneWorld 2010-09-14 08:13:44
使用「instanceof」關鍵字來檢查你擁有的具體模型,然後將你的對象轉換爲特定的類。 – rompetroll 2010-09-14 08:28:36
用於處理每個具體模型的特殊情況我會看看訪問者模式:) – willcodejavaforfood 2010-09-14 08:28:45