首页 文章

如何在Kotlin中将功能接口操作作为参数传递?

提问于
浏览
1

鉴于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的新手 .

1 回答

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

相关问题