Scala中Java 8 Supplier接口的等效代码
发布时间:2020-12-16 18:25:57 所属栏目:安全 来源:网络整理
导读:以下 Java 8代码将lambda传递给一个函数,该函数仅在启用了日志记录时才推迟执行generateMessage(…)函数. 等效的Scala代码是什么样的? producer.send(true,() - generateMessage(1,"A Test Message"));public void send(boolean enabled,SupplierProducerRe
以下
Java 8代码将lambda传递给一个函数,该函数仅在启用了日志记录时才推迟执行generateMessage(…)函数.
等效的Scala代码是什么样的? producer.send(true,() -> generateMessage(1,"A Test Message")); public void send(boolean enabled,Supplier<ProducerRecord> message) { if (enabled) { something.send(message.get()) } } 解决方法
这是可编译和可运行的代码.希望能帮助到你.
object HelloWorld { def main(args: Array[String]) = { send(true,() => "Foo") def send(enabled: Boolean,supplier: () => String) = if (enabled) somethingSend(supplier()) def somethingSend(message: String) = println(message) } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |