我想将我的模型包装在主要用于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