1
我正在开发一个web开发项目,并且正在使用“新闻提要”功能处理多个应用程序。我想确保每张带有图片的项目都会来回切换,以便左右图片交替显示,即使其中的某些项目没有图片。所以,我创建了一个接口:实用程序方法需要接口并且不接受实现上述接口的类
public interface TextWithImageTile {
public abstract String getOrientation() ;
public abstract void setOrientation(String orientation) ;
}
现在,我所有的“新闻提要”实现该接口,无论每个人使用的任何自定义字段中使用的新闻项目。所以,我早就预料到能够实例化这个工具类来处理实现该接口的项目清单:
public class AlignmentAssigner {
List<TextWithImageTile> listToAssign ;
public AlignmentAssigner(List<TextWithImageTile> list) {
this.listToAssign = list ;
}
public void alignList() {
for (TextWithImageTile listItem : listToAssign) {
...
}
}
}
但是现在,当我试图把它HomeItem类的列表 - 它实现TextWithImageTile接口 - 它抱怨类型不匹配。这里的实现:
List<HomeItem> homeItems = homeDAO.getHomeItems();
AlignmentAssigner alignmentAssigner = new AlignmentAssigner(homeItems);
我被告知,“构造函数AlignmentAssigner(List)是未定义的。”我在这里有交叉路口吗?是否有可能让一个方法处理特定接口的所有实现,只要它只被要求操作由该接口定义的字段和方法?如果是这样,如何 - 或者我的代码中需要更改什么?