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

0 java interface arraylist

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

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

例如,Tree是一个子类Entity,按原样Worker.我希望能够findNearest(x,y,<Arraylist of Trees>) 和也findNearest(x,y,<Arraylist of Workers>)

我想我可以使用一个接口来实现这一点,但是有更简单/更清晰的方法吗?

谢谢

邓肯

SLa*_*aks 8

你需要使用协方差:

void findNearest(int x, int y, ArrayList<? extends Entity> items)
Run Code Online (Sandbox Code Playgroud)

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