使用Java提供此功能接口:
public interface Condition<T> {
boolean check(T target);
}
该接口产生的操作可以作为参数传递给类的构造函数:
new ValidationRule<>(description,problem,target-> target.length() >= 2)
第三个参数是Condition接口,其中要执行的操作明确指定为:
target -> target.length() >= 2
我在Kotlin中复制此模式时遇到麻烦。如何在Kotlin中完成?有没有kotlin特定的方法可以做到这一点。
PS我是Kotlin的新手。
答案 0 :(得分:0)
应该简单
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 })