我是kotlin的新手,我正在try 开发一个gradle插件.
我的代码.
val action: Action<AppliedPlugin> = Action { // Tip from IDEA "this:AppliedPlugin"
}
Java中的函数接口.
public interface Action<T> {
/**
* Performs this action against the given object.
*
* @param t The object to perform the action on.
*/
void execute(T t);
}
我对这个提示感到困惑,因为我认为参数的默认名称是it
而不是this
.
然后我声明了另一个Java函数接口并实现了它.这次小费是it:AppliedPlugin!
英镑.这是我的代码和temp函数接口.
val temp: Temp<AppliedPlugin> = Temp { // Tip from IDEA "it:AppliedPlugin!"
}
public interface Temp<T> {
void test(T t);
}
有人能解释一下为什么kotlin在第一个lambda中使用this
作为默认参数名吗?