当前位置: 首页 > 知识库问答 >
问题:

将Java转换为静态编程语言BiFunction包含代码

公冶兴文
2023-03-14

我正在尝试将我的Java类转换为静态编程语言,这是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中发现的所有双函数示例都直接返回这样的值

双函数{名称,年龄-

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

>

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

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

共有1个答案

丌官利
2023-03-14

我也曾经遇到过这个问题,你所要做的就是用return@BiFunction文本替换返回文本

有关解释,您可以在此处查看:

科特林:“return@”是什么意思?

https://tutorialwing.com/labeled-return-or-return-in-kotlin-with-example

 类似资料:
  • 我正在尝试在Spring的TransactionTemplate上编写Kotlin包装器。关键代码如下所示: 代码无法编译。这是因为Java类TransactionCallback在Java中定义为: 在静态编程语言中解释为返回可空的T-,但我的方法返回。 如何更改此代码以使其可编译,同时允许调用方使用可为null的类型作为泛型类型? 我可以做这样的事情: 但是我的调用者将无法传递类型为

  • 我想在google api中更改我的标记。所以我在Picasso中使用了“getBitmap”功能,但此功能返回“位图?” .icon(位图描述符从位图(获取位图(user_URL[i])) - 所以,问题是: 类型不匹配错误(需要:位图,找到:位图?) java.lang.NullPointerException:图像在同一行中不能为空 我如何在科特林解决这个问题? 法典: 私人乐趣得到位图(网

  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 在将基于Java的模型类转换为静态编程语言后,我注意到我的setter和getter方法被删除了。曾经是什么, 成了 到底发生了什么?它是否移除了我的setters和getters,然后将变量的访问修饰符从private改为public?如果是,为什么以及如何是好的?Setters和getters是Java抽象的一部分。科特林不在乎这个? 我仍在学习 Kotlin,并且我依靠内置的转换作为最佳实践

  • 如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。

  • 我的名单如下{(“a”,1),(“b”,2),(“c”,3),(“a”,4)} 我想将其转换为如下列表映射{("a"(1,4)),("b",(2)),("c",(3))} 也就是说,对于a,我们有一个1和4的列表,因为键是相同的。 Kotlin中如何将列表转换为地图中的答案?只显示唯一的价值(而不是像我一样的重复)。 我在Kotlin尝试了 但似乎不起作用。我怎样才能在 Kotlin 中做到这一点