java如何从泛型对象调用实例方法?
假设我有一个arrayList,其中包含不同类的项,所有这些项都有相同的方法:draw(); 我还有第三个类,它有一个drawItems()方法,该方法将arrayList作为参数。现在,如果这些对象作为泛型对象传递,我如何对它们调用draw()方法
下面这个不行。我明白为什么了。 Java不知道该项有这样的功能。 我怎样才能避开这件事
public void drawItems(ArrayList<T> data)
{
data.forEach((T item) -> {
item.draw();
});
}
更新
谢谢大家。我是这样做的:
1)创建名为Drawable的接口:
public interface Drawable {
public void draw();
}
2)在项目类中实现接口:
public class Item implements Drawable {
@Override
public void draw(GraphicsContext gc) {
//...
}
}
3)调整项目:
public void drawItems(ArrayList<Drawable> data) {
data.forEach((Drawable item) -> {
item.draw();
});
}
共 (0) 个答案