接口的“通配符”导入

时间:2019-04-25 20:07:28

标签: java minecraft bukkit

我正在为我的插件创建一个接口,该接口根据服务器版本使用不同的类。

我尝试在接口类中包含以下内容:

Map<String, EntityPlayer> getPlayers();

但是,“ EntityPlayer”是根据版本导入的,因此对我而言这样做不可行。我本质上需要它是一个“通配符”,在这里它可以是任何EntityPlayer导入。然后在实现接口的类中,可以使用每个版本的导入。

希望这可以澄清我正在尝试完成的工作以及到目前为止已经完成的工作。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用类似这样的通用接口

interface YourInterface<T> {
   Map<String, T> getPlayers();
}

如果EntityPlayer是从父类派生的,例如,

interface YourInterface<T extends EntityParentClass> {
   Map<String, T> getPlayers();
}