java - 消除 lambda 中函数接口(interface)的歧义

标签 java lambda java-8 functional-interface

假设这样:

ExecutorService service = ...;

// somewhere in the code the executorService is used this way:
service.submit(() -> { ... });

lambda 表达式默认为Callable
有没有办法让它实例化一个Runnable

感谢您的帮助。

最佳答案

您可以将其声明为 Runnable,或使用强制转换:

Runnable r = () -> { ... };
executorService.submit(r);

executorService.submit((Runnable) () -> { ... });

关于java - 消除 lambda 中函数接口(interface)的歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34671292/

相关文章:

c# - x => x + 1和x => x + = 1之间有区别吗?

java - 替换 sun.security.* 包中的类

java - Jooq:别名表和 Record.into

java - newSingleThreadExecutor 并行用例

c# - 动态创建 Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?

java - 如何将随机整数添加到ArrayList而不重复

C++ Lambda,capture子句是怎么深入到里面的

java - 引用 lambda 表达式的最终字段

java - 使用 Spring 作为 Morphia 的对象工厂

java - Java 中是否有任何结构可以以编程方式访问字符串数组的索引?