开发者社区> 问答> 正文

将Java转换为包含代码的Kotlin BiFunction

我正在尝试将Java类转换为Kotlin。这是Java代码:

Observable.just("Stacey") .zipWith(Observable.just(6), (name, age) -> { String text; if(age < 18){ text = name + " is a child"; }else{ text = name + "is not a child"; } return text; } ); 这就是我将其转换为:

Observable.just("Stacey") .zipWith(Observable.just(6), BiFunction<String, Int, String> {name, age -> var text: String if(age < 18){ text = "$name + is a child" }else{ text = "$name + is not a child" } return text } ) Lambda符号似乎根本不起作用,或者我只是无法弄清楚。我发现Kotlin中BiFunctions的所有示例都直接像这样返回值

BiFunction {名称,年龄->名称+年龄}

这在语法上是正确的,但在返回内容之前我需要一些其他逻辑。出现两个错误消息:

这里不允许“返回”

类型不匹配。必需:单位,找到:字符串

但是我确实想返回一个字符串,并且我也明确声明了它。但是还有什么地方可以得到回报呢?

展开
收起
被纵养的懒猫 2019-10-08 17:19:21 749 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载