Ped*_*roD 3 kotlin kotlin-interop
我对这段代码有以下错误,这对我没有意义:
fun spawnWorker(): Runnable {
return Runnable {
LOG.info("I am a potato!")
return
}
}
Run Code Online (Sandbox Code Playgroud)
我的IDE对我说:
但是Runnable接口说不然:
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
Run Code Online (Sandbox Code Playgroud)
我之所以无法返回的原因是什么,但没有任何回报它编译得很好:
fun spawnWorker(): Runnable {
return Runnable {
LOG.info("I am a potato!")
}
}
Run Code Online (Sandbox Code Playgroud)
return从最近的封闭函数或匿名函数返回一个普通函数.在您的示例中,返回是非本地的,spawnWorker并且从RunnableSAM适配器返回,而不是从SAM适配器返回.要获得本地退货,请使用带标签的版本:
fun spawnWorker(): Runnable {
return Runnable {
LOG.info("I am a potato!")
return@Runnable
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
961 次 |
| 最近记录: |