java 8 lambda ambiguous runnable和callback
Executors.newFixedThreadPool(3).submit(() -> {doSmth();});
“模糊方法调用。在ExecutorService中提交(Callable)并在ExecutorService匹配中提交(Runnable)。”
怎么解决? 我知道我可以使用匿名类,但我想使用Function。
Executors.newFixedThreadPool(3).submit(()->{return 1;}); //Callable Executors.newFixedThreadPool(3).submit(() -> {doSmth();}); //Runnable
在模棱两可的情况下,明确提供类型:
Runnable runnable = () -> {doSmth();} submit(runnable); //or: submit((Runnable) () -> {doSmth();});