java - kotlin:2个lambda参数的语法

标签 java lambda syntax kotlin kotlin-interop

我是 Kotlin 的新手。我有一个带有 2 个重载方法的 java 类。一个接受一个函数,另一个接受两个

mapToEntry(Function<? super T, ? extends V> valueMapper)

mapToEntry(Function<? super T, ? extends K> keyMapper, 
           Function<? super T, ? extends V> valueMapper)

现在在 kotlin 中,我正在尝试调用带有 2 个参数的版本(如在 java 中):

myClass.mapToEntry(r -> r, r -> r)

但是我得到了编译错误。

Kotlin: Unexpected tokens (use ';' to separate expressions on the same line)

什么是正确的语法?

最佳答案

在 Kotlin 中,lambda 表达式总是被花括号括起来,所以它是

myClass.mapToEntry({ r -> r }, { r -> r })

参见:Lambda Expression Syntax

关于java - kotlin:2个lambda参数的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48208709/

相关文章:

java - Viewmodel 不从 Android Room 更新数据,但成功插入其中

java - libavcodec.so : has text relocations

mysql - 如何使用nodeJs在Lambda函数中使用mysq事务提交回滚

c# - 编译器如何知道 lambda 表达式应该是什么数据类型

mysql - 聊天系统的 MySQL 数据库安装程序语法错误

java - 如何在soap ui中按id顺序获取输出

java使用httpclient 4.1抓取https获取bad_record_mac

使用 IF 语句的 Python 用户定义函数不起作用

html - 如何选择具有特定类别的元素?

javascript - 如果没有 block 范围,独立 block 有什么意义?