加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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)
   }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读