【发布时间】:2018-08-19 08:40:43
【问题描述】:
鉴于 Java 中的这个函数式接口:
public interface Condition<T> {
boolean check(T target);
}
该接口产生的操作可以作为参数传递给类的构造函数:
new ValidationRule<>(description,problem,target-> target.length() >= 2)
第三个参数是一个条件接口,其中要执行的操作被明确指定为:
target -> target.length() >= 2
我无法在 Kotlin 中复制此模式。如何在 kotlin 中做到这一点?是否有特定于 kotlin 的方法来执行此操作。
PS 我是 Kotlin 的新手。
【问题讨论】:
-
您是否阅读过文档中的“lambdas”和“higher order functions”章节?
-
@TimCastelijns 是的,我做到了,但我仍然无法理解这种模式,并且该文档中指定的模式可以以类似的方式使用!也许我只是没看懂
-
这里有很多例子展示了语法:kotlinlang.org/docs/reference/lambdas.html。你至少尝试过什么吗?什么?
标签: java lambda kotlin functional-interface