Groovy 2.4.7使用带有Gradle坐标的Akka Java API:com.typesafe.akka:akka-actor_2.11:2.5.4
。
我正在尝试实现AbstractActor
并遇到Java / Akka API和Groovy本身之间的潜在冲突:
class MyActor extends AbstractActor {
@Override
Receive createReceive() {
receiveBuilder()
.match(DoSomething, message -> {
// Implement message handler if message is of type DoSomething
}).build()
}
}
产生以下编译器错误:
“ Groovy:期待EOF,找到')'@第18行,第5列。”
我认为它与消息之后使用的->
运算符有关。在Groovy-land中是否存在修复或解决方法?
答案 0 :(得分:2)
你已经将java的lambda表达式与groovy的闭包混淆了。所以它应该是:
class MyActor extends AbstractActor {
@Override
Receive createReceive() {
receiveBuilder()
.match(DoSomething, { message ->
// Implement message handler if message is of type DoSomething
}).build()
}
}
请同时查看here。