Java泛型接口实现

2024-03-31

我有一个界面如下,

public interface MethodExecutor {
    <T> List<T> execute(List<?> facts, Class<T> type) throws Exception;
}

另外,我有一个如下的通用实现,

public class DefaultMetodExecutor implements MethodExecutor {

   public <T> List<T> execute(List<?> facts, Class<T> type) throws Exception
   {
     List<T> result = null;

      //some implementation

      return result;
  }
}

到目前为止,没有编译问题,

但该接口的具体实现无法编译,如下所示。

public class SpecificMetodExecutor implements MethodExecutor {

   public <Model1> List<Model1> execute(List<Model2> facts, Class<Model1> type) throws Exception
   {
     List<Model1> result = null;

     //some implementation specific to Model1 and Model2

      return result;
  } 
}

如何为某些已定义的对象实现此接口?我需要使用类级别的泛型吗?


你需要做T类类型参数,而不是方法类型参数。您不能使用非泛型方法覆盖泛型方法。

public interface MethodExecutor<T> {
    List<T> execute(List<?> facts, Class<T> type) throws Exception;
}

public class DefaultMethodExecutor implements MethodExecutor<Model1> {
    public List<Model1> execute(List<?> facts, Class<Model1> type) throws Exception
    {
       //...
    }
} 

如果元素类型为facts应该可以针对特定实现进行配置,您也需要将其设置为参数。

public interface MethodExecutor<T, F> {
    List<T> execute(List<? extends F> facts, Class<T> type) throws Exception;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java泛型接口实现 的相关文章

随机推荐

  • Eclipse PDT + 代码完成根本不起作用

    我想启动一个新的 Zend 项目 目前我面临一些有关 Eclipse PDT 的问题 我的问题是 Eclipse for PHP 中的代码完成根本不起作用 我尝试了很多不同的教程等 例如制作一个新项目并导入文件 创建一个新的工作区并在那里导
  • 在静态方法中使用 WPF 检测设计模式

    我正在使用 WPF 我有一个静态类 它执行一些在设计模式下不可用的设置 该构造函数由设计模式下的窗口调用 这会导致抛出异常 如何在静态方法中检测设计模式 以便可以调用适当的设计模式行为 The 推荐方法 https stackoverflo
  • 如何从远程页面获取iframe内容?

    我认为PHP没有用 因为iframe是在php执行后插入的 还是我错了 所以 我知道的唯一解决方案是使用 Javascript jQuery 例如 如果 JS 与 iframe 位于同一页面上 则这将起作用
  • 流式传输 html5 canvas 内容的有效方法?

    我正在尝试流式传输 a 的内容html5 canvas实时使用websockets and nodejs html5画布的内容只是一个视频 到目前为止我所做的是 我将画布转换为blob然后得到blob URL并使用 websockets 将
  • 使用 Zend Gdata 在 Google 电子表格中插入行时出错

    我正在尝试使用 Zend Gdata 1 11 库在 Google 电子表格中插入行的最简单的可能方案 电子表格的单元格 A1 中有单词 Kolona 这是整个 php 文件
  • 从一开始就构建 IDocument 最有效的方法是什么

    我想使用以下类作为具体示例逐步构建一个新的 IDocument 对象 您可以从您喜欢的任何对象开始 并使用您喜欢的任何中间对象 只要生成的对象是一个代表完整类的 IDocument 步骤 1 添加一个名为 MyNamespace 的新命名空
  • iOS 照片库读取权限

    在用户允许我们访问他的相机胶卷后 我们希望获取数据并将其从应用程序内部上传到我们的服务 有没有办法从文件中访问视频数据 打开视频文件的唯一方法是创建 AVAsset 但这对我来说还不够 我知道关闭 func requestExportSes
  • Visual Studio 2015 JSX/ES2015 语法突出显示

    如何使用 ES2015 代码在 Visual Studio 2015 for JSX 中获得正确的语法突出显示 It works fine if I remove the import and export keywords 我刚刚更新到
  • 强制关闭应用程序

    我是 Android 新手 遇到了一个问题 我想知道如何以编程方式强制关闭应用程序并再次重新启动它 我正在尝试这个 因为我真的很坚持OutOfMemmoryError我想释放内存并再次重新启动应用程序 如果我错了 请指导我 要强制关闭应用程
  • php打开修改并保存html文件

    在php中我想打开一个html文件 删除div 类区域 的内容并保存它 dom new DOMDocument dom gt loadHTMLFile temp page y xhtml xpath new DOMXPath dom pDi
  • Nodejs 与 C++ 程序通信?

    假设我有一个 C 程序与 Linux 服务器上的 Node js Web 应用程序在同一台服务器上运行 C 程序维护一个队列 而我想要使用 Node js 做的是将一些数据推送到队列中 最好的方法是什么 哪个更好 套接字还是IPC 如果你使
  • 是否可以在重新加载后立即执行函数...?

    我有一组代码 setTimeout function window location reload true if scope attribute parentAttribute id angular element document ge
  • BitmapFactory.decodeFile() 在某些设备中返回 null

    我正在使用以下代码here http voidcanvas com whatsapp like image compression in android 我想压缩图像 BitmapFactory Options options new Bi
  • Cassandra 中的二级索引和倒排索引有什么区别?

    当我读到这两篇文章时 我认为他们都在解释相同的方法 我用谷歌搜索但什么也没找到 执行上有区别吗 Cassandra本身有二级索引 但倒排索引必须自己实现 顺便问一下 哪个搜索速度更快 主要区别在于 Cassandra 中的二级索引的分布方式
  • 如何删除树枝中的空格

    我需要的 我需要从 html 中删除空格 我需要喜欢 data 额外的空格被删除 删除 html 元素之间的额外空格 sypmfony 还支持什么 code spaceless code endspaceless Debug http tw
  • 删除 VSMacros80 目录

    有什么方法可以阻止 Visual Studio 在我的默认项目目录中创建 VSMacros80 文件夹吗 我自己刚刚发现 如果你在后面添加一个反斜杠项目文件夹设置例如改变它从C dev to C dev the VSMacros80将不再创
  • 使用 PlayFramework 在 YAML 文件中映射 BigInteger

    给出以下模型示例 Entity Table name tierenforcers public class TierEnforcer extends Model public BigInteger maxStorage expressed
  • 删除 matplotlib 图例中的重复标签[重复]

    这个问题在这里已经有答案了 如果您使用 matplotlib 绘制多条线或点 有时您可能会发现出现重复标签的情况 例如 for i in range 5 Y1 boatarrays i Y2 cararrays i ax plot X Y1
  • 如何从可反应的单元格渲染器按钮中使用observeEvent触发模态框?

    继从this https stackoverflow com questions 68573006 creating shiny outputs from custom html inputs 68573232 68573232帖子 我想知
  • Java泛型接口实现

    我有一个界面如下 public interface MethodExecutor