Java方法接受不同超类的ArrayLists,必须使用Interface?

时间:2013-08-15 14:55:41

标签: java interface arraylist

我有一个名为findNearest的方法,用于查找距离Object个对象最近的ArrayList点。

但是我希望能够为不同类的ArrayLists调用方法,这些类是超类 我的基类Entity

例如,TreeEntity的子类,Worker也是如此。我希望能够findNearest(x,y,<Arraylist of Trees>) 还有findNearest(x,y,<Arraylist of Workers>)

我想我可以使用界面实现这一点,但有更简单/更清晰的方法吗?

由于

邓肯

1 个答案:

答案 0 :(得分:8)

您需要使用协方差:

void findNearest(int x, int y, ArrayList<? extends Entity> items)

请注意,您将无法向列表中添加任何内容,因为您不知道列表实际应包含的类型。