在接口中使用Java泛型

前端之家收集整理的这篇文章主要介绍了在接口中使用Java泛型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想创建一个具有以下方法的接口:

public interface MyInterface {
  public Class

其中X必须在两种方法中都是相同的类型.我需要这样做的原因是我得到的消息是blob需要被转换到适当的类(使用getClass)然后我想强制实现者实现一个带有相应类的handle方法(而不是假设有一个并使用反射来调用它).

看起来这样做的唯一方法是在接口中添加一个类型参数,如下所示:

public interface MyInterface

但这不太理想,因为需要在各种其他类中指定该类型的级联依赖.有什么建议?谢谢!

最佳答案

Where X has to be the same type in both methods

您不能仅通过定义强制接口的两个方法相互依赖.
getClass和handle将始终是2个单独的方法.
您可能应该做的是有1个方法,句柄和传递作为参数类的类(可以像Enum或任何指标一样简单)并委托给Factory来创建适当的类来在里面使用句柄方法.
因此handle方法将(最终)获得适当的类来使用.

猜你在找的Java相关文章