在Java中,我可以这样写
final Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
handler.post(this);
}
});
当我在Kotlin中编写类似的内容时,出现编译错误。 Lambda表达式内的this
不能正常运行。我该怎么办?
val handler = Handler()
handler.post{
handler.post(this) // this line throws a compilation error
}
答案 0 :(得分:5)
@Bean
public Job downloadFilesAndInsertData(JobListener listener) {
return jobBuilderFactory.get("downloadFiles")
.incrementer(new RunIdIncrementer())
.listener(listener)
.start(step1())
.next(step2())
.build();
}
尽管从技术上讲,蒂姆的解决方案也行得通,但他应该将其发布为答案,因为这样更容易。如果他愿意,那就接受那个。
val handler = Handler() fun doAction() { handler.post(::doAction) // like `this` } handler.post(::doAction)