以下 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)
}
}
关于java - Scala 中 Java 8 Supplier 接口(interface)的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46339225/