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();});