使用 Akka java API 时 Kotlin 类型推断编译错误

2024-04-25

我想在 Kotlin 程序中使用 Akka java API。当我想设置时onCompleteakka 的回调Future,我遇到了 Kotlin 编译器错误,而 java 等效项工作得很好:

val future: Future<Any> = ask(sender, MyActor.Greeting("Saeed"), 5000)

future.onComplete(object : OnComplete<Object>() {
    override fun onComplete(failure: Throwable?, success: Object?) {
        throw UnsupportedOperationException()
    }
}, context.dispatcher())

java代码:

Future<Object> future = ask(sender(), new MyActor.Greeting("Saeed"), 5000);

future.onComplete(new OnComplete<Object>() {
    public void onComplete(Throwable failure, Object result) {
        if (failure != null) {
            System.out.println("We got a failure, handle it here");
        } else {
            System.out.println("result = "+(String) result);
        }
    }
},context().dispatcher());

Kotlin 编译器错误:

Error:(47, 24) Kotlin: Type inference failed: 
fun <U : kotlin.Any!> onComplete(p0: scala.Function1<scala.util.Try<kotlin.Any!>!, U!>!, p1: scala.concurrent.ExecutionContext!): 
kotlin.Unit cannot be applied to (<no name provided>,scala.concurrent.ExecutionContextExecutor!)
Error:(47, 35) Kotlin: Type mismatch: inferred type is <no name provided> but scala.Function1<scala.util.Try<kotlin.Any!>!, scala.runtime.BoxedUnit!>! was expected

我把项目推到了github https://github.com/zarinfam/akka-sample-kotlin.


嗯,错误消息可能有点不清楚,因为有很多 Scala 内容,而且<no name provided>,但它清楚地定义了错误点:您的函数应该接受Any,不是一个Object。以下代码编译没有任何问题:

val future: Future<Any> = ask(sender, MyActor.Greeting("Saeed"), 5000)

future.onComplete(object : OnComplete<Any?>() {
    override fun onComplete(failure: Throwable?, success: Any?) {
        throw UnsupportedOperationException()
    }
}, context.dispatcher())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Akka java API 时 Kotlin 类型推断编译错误 的相关文章

  • 无法使用 Maven 编译简单的 Java 10 / Java 11 项目

    我有一个简单的 Maven 项目 src main java module info java pom xml pom xml
  • 如何用泛型返回类型推断方法的具体返回类型?

    给出以下接口 interface Random extends java util function Supplier
  • 使用矩阵参数创建 GET 请求

    我将使用的网络服务需要矩阵参数 http tester com v1 customers lastname Jackson firstname Tim bookingreference 7Y9UIY 而不是通常的 http tester c
  • Maven:在项目之间共享源

    我有两个项目 它们是一个共同父项目的子项目 还有一个生成器项目和生成器对应的maven插件项目 此外 两个子项目都使用相同的输入文件 该文件用于代码生成 parent pom child1 jar src main generator in
  • 如何设置评分栏的星星颜色?

    如何设置评分栏的星星颜色 我想要黄色星星 最简单的方法 android progressTint color color 光滑有光泽
  • Spring Cloud Gateway + Spring安全资源服务器

    我真的不会把它放在这里 但我真的很困惑 我想实现以下目标 我在跑步 Java 14 Spring Cloud Gateway版本 Hoxton SR3 Spring Boot版本 2 2 5 RELEASE 现在我想将安全性集成到我的网关和
  • Servlet 包含 Tomcat 中的 HTTP 标头

    我有一个 servlet 它的请求调度程序包含另一个 servlet 包含的 servlet 设置了我想在包括小服务程序 因此 我在 include 方法中传入一个自定义 HTTPResponse 对象 该对象捕获来自 servlet 的所
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 动态元素 ID 到 setId(int) - Android

    我看到了语法定义setId int and findViewByID int 但我们如何使用findViewById R id row1 我尝试使用这个 Object1 setId Integer parseInt repeat 它没有显示
  • 如何配置jackson属性命名策略?

    此代码不起作用 Configuration public class RepositoryRestMvcConfig extends RepositoryRestMvcConfiguration Bean Override public O
  • 导入数据期间解析日期格式的最佳方法

    我创建了在数据导入 400 K 记录 期间解析视图不同日期格式的方法 我的方法捕获 ParseException 并尝试在不同时使用下一种格式解析日期 问题 在数据导入期间设置正确的日期格式是更好的方法 更快 吗 private stati
  • 在 Android 谷歌地图中绘制 4K 折线

    我现在正在开发一个适用于 Android 设备的应用程序 主要功能是在地图上绘制折线以显示城市中每条街道的交通情况 不幸的是 当我绘制大约 3K 折线时 数量会根据屏幕尺寸和缩放级别而减少 我的地图变得非常慢 我没有提及绘制所有线条的时间
  • 需要在 java api 中的 Solr 搜索中搜索文本及其周围的几行

    我正在使用 solr 7 7 2 并且我使用 solrj 在 Solr 中编写了一个 Java 程序 该程序在一个巨大的文本文件中搜索单词 我使用以下代码来显示代表整个文本的搜索结果 SolrQuery params new SolrQue
  • 如何在 Selenium 中定位具有特定文本的跨度? (使用Java)

    我在使用 java 查找 Selenium 中的 span 元素时遇到问题 HTML 看起来像 div class settings padding span Settings span div 我尝试了以下方法但没有成功 By xpath
  • 尝试将过滤器添加到 Grizzly+Jersey 应用程序时出现问题

    我有这个服务器初始化类 package magic app main import org glassfish grizzly http server HttpServer import org glassfish jersey grizz
  • 如何更改 Kotlin 上生成的 TODO() 函数体?

    我需要在我的代码上留下一些稍后要做的事情TODO 自动生成的会产生一个很长的评论 如下所示 TODO not implemented To change body of created functions use File Settings
  • 什么是样板代码、热点代码和热点?

    我知道这些术语是在性能实现 优化的背景下使用的 最近一直在研究这个问题 并尝试过搜索 但没有得到任何例子 清楚地阐述 描述这些概念以及在现实世界开发场景中实现这些问题 概念 有人可以彻底解释这些术语 示例场景以及可能使用这些概念和术语的地方
  • 遍历多行字符串

    我得到一些数据 def data some useless text n even more n finally interesting text 我怎样才能得到其中 有趣的部分 所以基本上所有行都不是以 开头的 Groovy 的一种选择是
  • 编写代码以:启动 R 会话、运行 R 脚本、终止会话、重复

    我正在寻找一种简单的 设置后就忘记它 的方式 无论是作为终端中的单个参数字符串还是简单的 Java 程序 来自动执行以下操作 1 启动R会话 2 告诉 R 源 R 文件包含冗长的并行模拟代码 3 完成后终止R会话 4 开始一个新的R会话 5
  • struts2中如何访问url参数

    我正在做一个struts2项目 我在项目中创建了 url 并使用标签传递了参数 我的问题是如何读取操作中的参数 另外 如果执行相同的操作 我将能够将参数视为查询字符串 我问是因为我无法做到 而且我在其中一个教程中看到了它 通常 您将通过使用

随机推荐

  • 使用 Python 将方程渲染为 .png 文件

    我想将方程渲染为 PNG 文件并将它们嵌入到我的库的 HTML 文档中 我已经在其他项目中使用 pylab matplotlib 我还没有找到任何线索http matplotlib sourceforge net users usetex
  • 不懂 C 就开始学习 C#? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否建议只了解一点点 C 只是一些基础知识 或什至不了解 C 就直接跳到 C C 和 C 非常不同 它们共享语法 但编程风格却截然不同 学习 C
  • 我可以使用反射在类中添加新字段吗

    如果我有类文字对象 我可以向类添加新字段吗 如何确定该类文字中引用或使用了特定的类 您不能直接向其中添加新字段Class目的 您可以使用第三方 API 来生成或修改类 例如 ASM BCEL 但最好避免使用它们 因为它们会增加很多复杂性 至
  • WebRTC:强制对等点使用 TURN 服务器

    我有一个 webrtc 应用程序 它工作正常 但出于测试目的 我需要测试我的 TURN 服务器是否工作 但因为两个测试设备都在同一网络内 所以我无法测试 认为下面的代码会限制候选人仅那些使用 TURN 服务器的 function onIce
  • 使用 boost asio 枚举我的卡的 ipv4 和 ipv6 地址

    我正在尝试枚举我的电脑的所有网卡 我有 2 张卡 的 ipv4 和 ipv6 地址 我正在使用以下代码来执行此操作 using boost asio ip tcp boost asio io service io service tcp r
  • Pkcs11Interop 从 HSM 读取密钥值

    我正在尝试使用 Pkcs11Interop 从 HSM 中提取密钥的值 我知道 密钥必须留在 HSM 中 但我需要它 所以 我已经用 NCryptoki 做到了 我也想用 Pkcs11Interop 做到这一点 我尝试了这段代码 Prepa
  • 使用 JavaScript 进行分页

    我有一些 html 代码 div class post 里面 我想用 javascript 对它们进行分页 我怎样才能做到这一点 我知道我可以用 PHP 来做 但我只想用 JS 来做 我的 php 生成的 html 看起来像这样 div d
  • openMPI/mpich2 不能在多个节点上运行

    我正在尝试在多节点集群上使用 install openMPI 和 mpich2 但在这两种情况下 我在多台计算机上运行时都遇到问题 使用 mpich2 我可以从头节点在特定主机上运行 但是如果我尝试从计算节点到不同节点运行某些内容 我会得到
  • 如何确定多边形点列表是否按顺时针顺序排列?

    有了一个点列表 如何找到它们是否按顺时针顺序排列 例如 point 0 5 0 point 1 6 4 point 2 4 5 point 3 1 5 point 4 1 0 会说它是逆时针的 或者对某些人来说是逆时针的 对于非凸多边形 例
  • 如果使用多个 EAGLView,则不会绘制纹理

    我在使用Apple EAGLView 和Texture2D 时遇到了一些问题 如果我创建 EAGLView 的实例并绘制一些纹理 效果会很好 但是 每当我创建 EAGLView 的第二个实例时 都不会绘制新视图中的纹理 作为 OpenGL
  • BSSID可以作为唯一标识符吗?

    我正在构建一个 Android 应用程序 列出用户周围的所有 wifi 网络 当用户尝试使用特定服务时 我的应用程序需要有关用户网络的信息 当我的应用程序从用户网络获取所有信息时 它会自动在我的数据库表中插入一个新行 其中包含所有这些必要的
  • JDBC 连接池选项:DBCP 与 C3P0 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 适用于 Java JDBC 的最佳连接池库是什么 我正在考虑两个主要候选者 免费 开源 阿帕奇 DBC
  • Django - 如何直接从表中的按钮删除对象

    对不起 我的英语不好 我需要删除一个对象 但直接从模板中的对象列表中删除 我有一个工作订单 其中有备件 但我不知道如何仅使用工作订单详细视图中的按钮来创建备件的删除视图 这个想法是用户单击 删除 按钮 这是备件的型号 class Order
  • SQL Server 使用 Case When 和常量的语法进行排序

    我正在阅读其他人编写的 TSQL 代码 发现语法有些奇怪 它通过字符串进行排序 我做了一些测试 以下是代码 任何人都可以帮我解释一下吗 谢谢 第一个查询 SELECT FROM dbo Products Result ProductID P
  • 如何配置“git pull --ff-only”和“git merge --no-ff”

    对我来说 典型的 git 工作流程是克隆远程存储库并使用 git pull 使其保持最新 我不想在拉取时合并提交 所以我使用 ff only 选项 我还为特色工作设立了当地分支机构 我想保留分支历史记录 因此当我将本地分支合并回本地克隆时
  • 找到总和为 K 的三个元素

    我编写了以下代码来查找总和为 K 的两个元素 include
  • Python将txt文件读入数字列表列表[重复]

    这个问题在这里已经有答案了 我的 txt 文件如下所示 1 3 5 1 4 4 1 4 7 1 4 8 2 4 5 我试图将其转换为一个列表 其中包括txt文件中的所有列表 所以我的示例所需的输出是 1 3 5 1 4 4 1 4 7 1
  • jquery:如何循环一个div

    使用jquery 如何自动连续滚动div 喜欢本网站的新闻和专题部分 http animalsasia org http animalsasia org 此外 当您将鼠标悬停在滑块上时 它会停止滚动 直到您将鼠标悬停为止 有没有一个 jqu
  • 使用 Powershell 尊重原始大小写重命名文件中的文件名和内容

    关于按照解决方案使用 Powershell 重命名文件和文件内内容的问题here https stackoverflow com questions 77081055 renaming of files and content within
  • 使用 Akka java API 时 Kotlin 类型推断编译错误

    我想在 Kotlin 程序中使用 Akka java API 当我想设置时onCompleteakka 的回调Future 我遇到了 Kotlin 编译器错误 而 java 等效项工作得很好 val future Future