我想在地图上执行延迟操作,所以我正在使用Timer,我传递的是TimerTask一个延迟,以毫秒为单位:
timer.schedule(new TimerTask() {
public void run() {
tournaments.remove(id);
}
}, delay);
Run Code Online (Sandbox Code Playgroud)
这是一种类似原始缓存的功能,我在刚刚创建的新资源上设置了到期时间.
我以为我可以使用lambdas做到这一点,如下所示:
times.schedule(() -> tournaments.remove(id), delay);
Run Code Online (Sandbox Code Playgroud)
但是编译器说这不能做到.为什么?我究竟做错了什么?我可以使用lambdas来实现更简洁的代码,或者在这里根本不可能,我应该坚持使用匿名类吗?