考虑到 Java 中的函数式接口(interface):
public interface Condition<T> {
boolean check(T target);
}
该接口(interface)产生的操作可以作为参数传递给类的构造函数:
new ValidationRule<>(description,problem,target-> target.length() >= 2)
第三个参数是 Condition 接口(interface),其中要执行的操作明确指定为:
target -> target.length() >= 2
我在 Kotlin 中复制此模式时遇到问题。在 kotlin 中如何做到这一点?有没有 kotlin 特定的方法来做到这一点。
PS 我是 Kotlin 新手。
最佳答案
应该很简单
typealias Condition<T> = (T) -> Boolean
class ValidationRule<T>(val description: T, val problem: T, val condition: Condition<T>)
val validationRule = ValidationRule(description, problem, { target -> target.length() >= 2 })
关于java - 如何在 Kotlin 中将函数式接口(interface)操作作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51915953/