gpt4 book ai didi

java - 在高阶函数中调用带有参数的 lambda

转载 作者:行者123 更新时间:2023-11-29 19:03:34 25 4
gpt4 key购买 nike

我是 java/kotlin 函数式编程的新手,需要做一些练习。只是想知道在调用它时如何传递 lambda 的参数。比如这里调用someMethod需要传入一个Int参数。

fun lambdaTest( someMethod: (Int) -> Boolean){
someMethod()
}

如何做到这一点?答案可能很简单,我只是没在任何地方找到它,在文档中只有带有列表的示例,如果答案很明确:

fun <T, R> List<T>.map(transform: (T) -> R): List<R> {
val result = arrayListOf<R>()
for (item in this)
result.add(transform(item))
return result
}

最佳答案

这里你需要传递一个以 Int 为参数并返回 Boolean 的函数。

lambdaTest { int ->
int > 0 // can be also changed to it
}

如果 Int 参数大于 0,我们返回 true。

如果你想要更多的参数:

fun lambdaTest( someMethod: (Int, String) -> Unit){ // Unit means do not return anything
someMethod(1, "Kotlin")
}

并称它为:

lambdaTest { int, string ->
println("Passed Int: $int, and String: $string as parameter")
// Output = Passed Int: 1, and String: Kotlin as parameter
}

关于java - 在高阶函数中调用带有参数的 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47993460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com