java - 缩短嵌套 lambda

标签 java list collections java-8 java-stream

我想将任务列表映射到 List<Callable<Tasks>> :

List<Callable<Tasks>> callableTasks = tasks.stream().map(t ->
        {
            // how to return callable directly and omitting curly braces?
            Callable<Task> task = () -> run(t);
            return task;
        }).collect(Collectors.toList());

如何缩短上述表达式以直接返回可调用对象?

最佳答案

您可以使用 Executors 中的静态方法类,例如Executors.callable:

tasks.stream().map(t -> callable(() -> run(t))).collect(Collectors.toList());

关于java - 缩短嵌套 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60029949/

相关文章:

java - 需要 JDK 1.6 的最新版本的 build-helper-maven-plugin 是什么?

java - 列表根元素的 XStream 别名

c# - File.ReadLines().ToList() 在包含 2 个空行的文件上的计数为 1?

arrays - 返回多个对象的cmdlet,它是什么收集类型? [电源外壳]

java - 匹配 ":"之后包含的字符串的正则表达式

java - 来自不同网络的 Akka 远程 Actor

java - 什么是NullPointerException,我该如何解决?

python - list.extend 和列表理解

java - 遵循只能增加的值集合中的最小值

java - 如何使用 map 中的嵌入式集合填充对象?